我想插入(如果不存在)在MySQL中带有查询的其他更新但失败。 到目前为止,我发现的是。
IF EXISTS(SELECT * FROM `subject` WHERE `branch_id` = 1)
THEN
BEGIN
UPDATE `subject` SET (`name` ='KHAN')
WHERE `branch_id` = 1
END
ELSE
BEGIN
INSERT INTO `subject` (`name`,`branch_id`)
VALUES('AMAAN', 1)
END
END IF
我得到的是
Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM `subject` WHERE `branch_id` = 1)
答案 0 :(得分:0)
也许尝试从客户端程序中获取多个语句?首先执行update
,然后如果ROW_COUNT()
或等效值为0,则执行插入。当然insert on duplicate key update
更简单。