Вы можете указать только одно предложение where
в одном запросе - это означает, что в вашем случае вы можете обновлять только одну строку за раз.
С 10 предметами, я не знаю, справлюсь ли я с такими проблемами (это означает переписывание некоторого кода - даже если это не так сложно) , но, более того, решение будет быть до:
delete
все строки
insert
s их все обратно
- делает все это в транзакции , конечно.
Приятно то, что вы можете сделать несколько insert
с одним запросом; не знаю по 10 предметам, но по 25 или 50 это может быть неплохо.
Вот пример со страницы вставки руководства MySQL (цитирование) :
INSERT
операторы, которые используют VALUES
Синтаксис может вставлять несколько строк. Сделать
это, включить несколько списков столбцов
значения, каждое из которых заключено в
круглые скобки и разделенные запятыми.
Пример: * 1 034 *
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
Конечно, вам, вероятно, не следует вставлять «слишком много» элементов в один запрос на вставку - вставка на 50 элементов может быть приемлемой, хотя (чтобы найти «правильное» количество элементов, вы Я полагаю, что ^^)