может обновить запрос MySQL во внутреннем соединении или левом соединении

Хотя мне нравятся регулярные выражения в целом, для такого рода токенизации, зависящей от состояния, я считаю, что простой синтаксический анализатор (который в этом случае намного проще, чем это может сделать звук), вероятно, является более чистым решением, в частности с относится к ремонтопригодности, например:

String input = "foo,bar,c;qual=\"baz,blurb\",d;junk=\"quux,syzygy\"";
List<String> result = new ArrayList<String>();
int start = 0;
boolean inQuotes = false;
for (int current = 0; current < input.length(); current++) {
    if (input.charAt(current) == '\"') inQuotes = !inQuotes; // toggle state
    boolean atLastChar = (current == input.length() - 1);
    if(atLastChar) result.add(input.substring(start));
    else if (input.charAt(current) == ',' && !inQuotes) {
        result.add(input.substring(start, current));
        start = current + 1;
    }
}

Если вы не заботитесь о сохранении запятых внутри кавычек, вы можете упростить этот подход (без обработки начального индекса, no последнего символа особый случай), заменив запятые в кавычках на что-то еще, а затем разделив запятыми:

String input = "foo,bar,c;qual=\"baz,blurb\",d;junk=\"quux,syzygy\"";
StringBuilder builder = new StringBuilder(input);
boolean inQuotes = false;
for (int currentIndex = 0; currentIndex < builder.length(); currentIndex++) {
    char currentChar = builder.charAt(currentIndex);
    if (currentChar == '\"') inQuotes = !inQuotes; // toggle state
    if (currentChar == ',' && inQuotes) {
        builder.setCharAt(currentIndex, ';'); // or '♡', and replace later
    }
}
List<String> result = Arrays.asList(builder.toString().split(","));
-1
задан Aminudin 4 March 2019 в 15:15
поделиться

1 ответ

Я не совсем понимаю ваш вопрос, но если вы хотите обновить несколько строк в таблице на основе данных в других таблицах, да, это возможно, если вы хотите обновить несколько строк в нескольких разных таблицах, что будет возможно только с помощью хранимой процедуры или чего-то подобного.

0
ответ дан dmoore1181 4 March 2019 в 15:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: