Как добавить где пункт в операторе MySQL Insert?

Это не работает:

INSERT INTO users (username, password) VALUES ("Jack","123") WHERE id='1';

Какие-либо идеи, как сузить вставку к конкретной строке идентификатором?

7
задан Zack 28 February 2010 в 03:41
поделиться

4 ответа

В операторе вставки у вас не было бы существующей строки для выполнения условий where? Вы вставляете новую строку, вы хотели обновить статус?

update users set username='JACK' and password='123' WHERE id='1';
21
ответ дан 6 December 2019 в 05:08
поделиться

Я думаю, вы ищете UPDATE и не вставлять?

UPDATE `users`
SET `username` = 'Jack', `password` = '123'
WHERE `id` = 1
1
ответ дан 6 December 2019 в 05:08
поделиться
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, если она существует.

0
ответ дан 6 December 2019 в 05:08
поделиться

Попробуйте следующее:

Update users
Set username = 'Jack', password='123'
Where ID = '1'

Или, если вы действительно пытаетесь вставить:

Insert Into users (id, username, password) VALUES ('1', 'Jack','123');
2
ответ дан 6 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: