【发布时间】:2010-10-16 18:13:29
【问题描述】:
INSERT INTO `test` (`x`, `y`) WHERE `id` = `$id`
VALUES (`$x`, `$y`)
这个查询有什么问题?我在 php 文件中的 mysql_query() 函数中运行它。
【问题讨论】:
-
您能否详细说明您希望通过此查询完成什么?
INSERT INTO `test` (`x`, `y`) WHERE `id` = `$id`
VALUES (`$x`, `$y`)
这个查询有什么问题?我在 php 文件中的 mysql_query() 函数中运行它。
【问题讨论】:
还请注意,您必须使用单引号 (') 而不是反引号 (`) 来表示值。引用列名/字段名时使用反引号。
这个:
`field` = '$value'
而不是这样:
`field` = `$value`
除非你真的想引用另一个字段。这有时是您在复制值或匹配 JOIN 等时想要的。但是因为你有一个变量,我假设你想使用单引号而不是反引号。
【讨论】:
所以,要么
更新测试集 x='x', y='$y' WHERE id ='$id';
或
INSERT INTO test ('x', 'y') VALUES ('$x', '$y');
如其他帖子中所述 - 您不能使用 WHERE 进行 INSERT。
【讨论】:
您不能在插入时使用 where 子句。我想你可能想要一个更新声明:
update test set
x = $x,
y = $y
where id = $id
当您在数据库中插入一个新值时,您通常在插入之后才有 ID 值(假设您使用的是自动生成的 ID)。
【讨论】:
您需要删除“WHERE id=$id” - 它在 INSERT 语句中没有任何意义。
【讨论】:
如果您尝试更新数据库中的信息,请在您正在运行的查询中使用 UPDATE 而不是 INSERT INTO。
【讨论】:
您不能将 Where 子句与插入一起使用。您要么插入一行,要么不插入。
【讨论】: