Можно ли выполнить обновление, например вставку ?
UPDATE `table` SET `value` ('N','N','N','N','Y','Y','Y','N', 'N') WHERE `my_id` = '1'
Проблема в том, что количество значений, которые нужно вставить, я не сейчас. Это может быть 5 или 10.
замените так же, как вставка, он просто проверяет наличие дубликата ключа, и если он удаляет строку и вставляет новую, в противном случае она просто вставляет
вы можете сделать это, если есть, например, уникальный индекс (Name, Type), и если вы наберете следующую команду
REPLACE INTO table1 (Name,Type,InitialValue,FinalValue) VALUES ('A',3,50,90 )
и уже существует строка с именем = 'A' и Type = 3, она будет заменена
CREATE UNIQUE INDEX idx_name_type ON table1(Name,Type)
EDIT: быстрое примечание – ЗАМЕНИТЬ всегда DELETES, а затем INSERT, поэтому никогда не очень хорошая идея использовать его при большой нагрузке, потому что ему требуется эксклюзивная блокировка при ее удалении, а затем, когда она вставляет
некоторые из двигателей базы данных
INSERT … НА ОБНОВЛЕНИИ КЛЮЧА DUPLICATE …
Вы должны указать имя column-name
.
UPDATE `table` SET `Col1`='y',`Col2`='n' ... WHERE `ID`='1'
Или хотите обновить один или несколько столбцов / строк:
UPDATE `table` Set Col1='Y' WHERE `ID` IN ('1','11','13')