mysql SET和UPDATE

时间:2013-07-08 12:51:02

标签: mysql

我正在尝试根据其他列的值替换列值,但我不断收到语法错误。我究竟做错了什么?这就是我累了:

SELECT * FROM `table` WHERE `id_1` =164 and `id_2` = 6
SET `id_1` = (188|164)
WHERE `id_1` = 164 AND `id_2` = 6 
UPDATE `table`

这给了我一个靠近SET的语法。

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6
UPDATE `table`
SET `id_1` = 188
WHERE `id_2` = 6

这使我在UPDATE以下的所有内容都出错。

2 个答案:

答案 0 :(得分:3)

您不能在一个查询中使用UPDATE和SELECT。

单独执行这两个查询:

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6;

然后执行:

UPDATE `table`
SET `id_1` = 188
WHERE `id_2` = 6;

答案 1 :(得分:2)

你错过了标点符号的结尾';'在你的select语句之后。在执行SELECT之后,必须在开始下一个语句(UPDATE)之前结束该语句:

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6; -- semicolon goes here
UPDATE `table`
SET `id_1` = 188
WHERE `id_2` = 6; -- and another semicolon goes here

这将消除您的语法错误。