我的sql命令中出现了这个错误消息。我无法弄清楚原因。请帮帮我。
if ( SELECT * FROM `teams` WHERE `client_id`='3' and `member_id`='6' and `current`='1' ) then
begin
UPDATE `teams` SET `current`='0' WHERE `client_id`='3' and `member_id`='6' and `current`='1'
end ;
else
begin
INSERT INTO `teams`(`client_id`, `member_id`) VALUES ('3','33')
end;
end if;
此处我尝试更新列current
,如果设置为1
,则插入新记录。
I need to use this sql command in my php file when a form is submitted.
以下是错误消息:
#1064 - You have an error in your SQL syntax;
答案 0 :(得分:0)
这不是mysql中的有效语句,有效语法如下所示。此外,在存储过程,函数或触发器中允许使用if-else。
if ( SELECT * FROM `teams` WHERE `client_id`='3' and `member_id`='6' and `current`='1' ) then
begin
UPDATE `teams` SET `current`='0' WHERE `client_id`='3' and `member_id`='6' and `current`='1'
end ;
else
begin
INSERT INTO `teams`(`client_id`, `member_id`) VALUES ('3','33')
end;
end if;
答案 1 :(得分:0)
可以使用一个INSERT...ON DUPLICATE KEY UPDATE...
语句完成整套语句。