Это не работает:
INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';
Какие-либо идеи, как сузить вставку к конкретной строке идентификатором?
В операторе вставки у вас не было бы существующей строки для выполнения условий where? Вы вставляете новую строку, вы хотели обновить статус?
update users set username='JACK' and password='123' WHERE id='1';
Я думаю, вы ищете UPDATE и не вставлять?
UPDATE `users`
SET `username` = 'Jack', `password` = '123'
WHERE `id` = 1
INSERT INTO users (id,username, password)
VALUES ('1','Jack','123')
ON DUPLICATE KEY UPDATE username='Jack',password='123'
Это будет работать, только если поле id
является уникальным / pk (хотя и не составным PK)
Кроме того, это будет вставлено, если id
значения 1 не найдено, и в противном случае обновите запись с id
1, если она существует.
Попробуйте следующее:
Update users
Set username = 'Jack', password='123'
Where ID = '1'
Или, если вы действительно пытаетесь вставить:
Insert Into users (id, username, password) VALUES ('1', 'Jack','123');