INSERT INTO `test` (`x`, `y`) WHERE `id` = `$id`
VALUES (`$x`, `$y`)
这个查询有什么问题?我在php文件中的mysql_query()
函数中运行它。
答案 0 :(得分:6)
您不能将Where子句与插入一起使用。您要么插入一行,要么不插入。
答案 1 :(得分:4)
如果您尝试更新数据库中的信息,请在正在运行的查询中使用UPDATE而不是INSERT INTO。
答案 2 :(得分:2)
您不能在插入上使用where子句。我想你可能想要更新声明:
update test set
x = $x,
y = $y
where id = $id
当您在数据库中插入新值时,通常在插入之后没有ID值(假设您使用的是自动生成的ID)。
答案 3 :(得分:0)
您需要删除“WHERE id = $ id” - 它在INSERT语句中没有意义。
答案 4 :(得分:0)
所以,
更新测试SET x ='x',y ='$ y'WHERE id ='$ id';
OR
INSERT INTO test('x','y')VALUES('$ x','$ y');
如其他帖子中所述 - 您不能使用WHERE进行INSERT。
答案 5 :(得分:0)
另请注意,您必须使用单引号(')而不是反引号(`)作为值。引用列名/字段名时使用反引号。
此:
`field` = '$value'
而不是:
`field` = `$value`
除非你确实想要引用另一个字段。这有时是复制值或匹配JOIN等时所需的。但是因为你有一个变量,我假设你想使用单引号而不是反引号。