IF (SELECT count(user_id) FROM user_group where group_id != 1 and user_id=505) = 0
INSERT INTO user_group (user_id,group_id) VALUES ('505','1766' );
else
update user_group SET user_id='505',group_id='1766' WHERE group_id !=1;
end IF
以上我拆开来试都可以执行,合在一起就不行
p.s. table 没有索引值,也没有uniqu 所以不能用replace 或 on DUPLICATE key update
怎么查都觉得上面是对的 = =
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
更新:如果不写存储过程,是不能用到存储过程中的流程控制语句IF..THEN..END IF,而只能用到流程控制函数if()。
这样的逻辑要么在后端查一次写一次,要么在存储过程/函数里面查一次写一次。
为何不加索引呢。这样的逻辑都避免不了查一次表写一次表,查表的时候还只能扫全表。
因为……少了THEN……