Я перемещаю некоторый старый код от SQLite
на мой сайт, чтобы получить доступ через веб-сайт. Одним из запросов, который я использовал довольно часто, был запрос INSERT or REPLACE INTO
, который проверял, существует ли строка в таблице (на основе первого значения), и если бы это произошло, это заменило бы данные в этой строке на строку, указанную в VALUES
. Однако, если строка не найдена, она будет INSERT
строка в таблицу.MySQL эквивалент SQLite INSERT или REPLACE INTO
запросов Пример (Reduced):
INSERT or REPLACE INTO player_currency (player_id, gold) VALUES (1, 500)
Это найти игрока с ID 1 и установить его золото до 500, независимо, чтобы, если он был в таблице, или нет.
Я не уверен, имеет ли это значение, но я использую XAMMP 5.6.8 (я добавил PHP к тегам, считая, что это то, что используется для подключения к базе данных, не стесняйтесь удалять его, если это не так. «т принадлежат)
- Dabatase Подключение: Библиотека (PHP) PDO
- MySQL Версия: 5.6.24
- PhpMyAdmin Версия: 4.4.3
Проверить это один из: http://stackoverflow.com/questions/6107752/how-to-perform-an-upsert- so-that-i-can-use-both-new-and-old-values-in-update-par – dwjv
попробуйте [Заменить] (https://dev.mysql.com/doc/refman/5.0/en/replace .html) 'replace player_currecy (player_id, gold) VALUES (1, 500)' –