Как заменить некоторые значения, если пользователь уже существует? - PullRequest
1 голос
/ 18 июня 2019

Я не знаю, как заменить некоторые данные, если «пользователь» уже существует.

Я пытался ON DUPLICATE KEY UPDATE, но я понял, что это, вероятно, не будет работать.Потому что единственное значение, которое не обновляется, это «user» в моем коде, а остальные 3 значения постоянно обновляются каждые 5 минут.

INSERT INTO online ( `user`, `bot`, `world`, `status` ) VALUES ('$User', '$Name', '$World', '$status')
ON DUPLICATE KEY UPDATE bot = VALUES ('$Name'), world = VALUES ('$World'), status = VALUES ('$status')

Идея заключается в том, если, например, пользователь «bob» ужесуществует обновить его другие 3 значения bot, world, status, вместо создания новой строки и т. д.

Редактировать: вот как у меня это настроено в Mysql

1 Ответ

0 голосов
/ 18 июня 2019

Аргументом VALUES() должно быть имя столбца, а не строка.Вы вводите имя столбца, в который вы вставили бы.

INSERT INTO online ( `user`, `bot`, `world`, `status` ) VALUES ('$User', '$Name', '$World', '$status')
ON DUPLICATE KEY UPDATE bot = VALUES (bot), world = VALUES (world), status = VALUES (status)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...