我正在尝试将值插入到其中一个列值包含特定字符串的每一行中。
INSERT INTO `cases_index`(`related`) VALUES (`Alabama`) WHERE `court` LIKE '%Alabama%'
所以在上面的示例中我有一行有三列:
法庭|联邦|相关我想在法院专栏中包含“阿拉巴马州”一词(即“阿拉巴马州地方法院”)的任何一行的“相关”栏中插入“阿拉巴马”一词。
上面的行吐出以下语法错误:
1064 - 您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'WHERE
cases_index
(court
)LIKE'%Alabama%''在第1行
任何想法我做错了什么?
答案 0 :(得分:5)
除了查询中的语法错误之外,如果要更新现有行,则应使用UPDATE
查询:
UPDATE cases_index
SET related='Alabama'
WHERE court LIKE '%Alabama%'
为了完整起见,INSERT
查询会向表中添加新行,因此不允许WHERE
中的INSERT
子句。
答案 1 :(得分:1)
虽然您正在寻找UPDATE答案,但INSERT确实允许WHERE子句。
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
但是答案就是trgdor所写的:
UPDATE cases_index
SET related='Alabama'
WHERE court LIKE '%Alabama%'