2017-07-28 150 views
-4

这个查询有什么问题?INSERT查询不起作用

INSERT INTO query_tbl (winner) VALUES ("yes") WHERE id = 5; 
+0

你想插入新行或更新存在的行吗? – Rokuto

+0

MySQL INSERT语法不支持WHERE子句,因此您的查询将会失败。 – ayush

+0

首先,'“是”'引用一个名字为'yes',而不是文本值的列... –

回答

0

如果INSERT一个新的记录,然后试试这个:

INSERT INTO query_tbl (winner) VALUES ("yes"); 

UPDATE退出的记录(我的意思更改记录的值),则:

UPDATE query_tbl SET winner='yes' WHERE id = 5; 

祝您好运!

3

INSERT不采取WHERE条款,因为它会创建一个新的行*无条件。

如果您想更新现有行,请使用

UPDATE query_tbl SET winner='yes' WHERE id = 5 

如果要插入新行,同时插入winnerid

INSERT INTO query_tbl(id, winner) VALUES (5, 'yes') 

注意使用单引号周围字符串文字'yes'

*SELECT查询可以作为插入序列的一部分执行;在这种情况下,WHERE子句与SELECT相关联,而不与INSERT相关联。