Пример с

й, но простой пример. Предположим, у меня есть таблица «Предмет», где я храню итоги полученных предметов.

Item_Name              Items_In_Stock

Название предмета здесь является первичным ключом. Как мне добиться следующего, когда я получу предмет А в количестве X.

Если элемент не существует, я вставляю новую запись для элемента A и устанавливаю элементы на складе равными X, и если существует запись, где элементы на складе были Y, тогда новое значение в элементах на складе равно (X + Y)

INSERT INTO `item`
(`item_name`, items_in_stock)
VALUES( 'A', 27)
ON DUPLICATE KEY UPDATE
`new_items_count` = 27 + (SELECT items_in_stock where item_name = 'A' )

Моя проблема в том, что у меня есть несколько столбцов в моей фактической таблице. Это хорошая идея, чтобы написать несколько операторов выбора в части обновления?

Конечно, я могу сделать это в коде, но есть ли лучший способ?

Ответы на вопрос(5)

Ваш ответ на вопрос