首页 新闻 会员 周边 捐助

mysql 查询上一条修改语句是否有修改,若没修改做新增

0
悬赏园豆:5 [已解决问题] 解决于 2020-08-18 15:02

我的想法是

UPDATE `Student` SET `Name` = '张三';
IF ROW_COUNT() < 1 THEN
    INSERT INTO `School`(`Student`) VALUES('张三')
END IF;

但是有问题,不知道怎么改

养鼠的猫的主页 养鼠的猫 | 菜鸟二级 | 园豆:250
提问于:2020-08-18 10:44
< >
分享
最佳答案
0

1、先插入 重复 更新 on duplicate key update

INSERT INTO Student(name) VALUES ('MySQL Manual') ON duplicate KEY UPDATE id = id

2、先查询,判断 更新或者 添加
IF EXISTS(SELECT * FROM Student WHERE id=1)
BEGIN
UPDATE Student SET Name='张三' WHERE id=2;
END
ELSE
BEGIN
INSERT INTO School(Student) VALUES('张三')
END
end if

收获园豆:5
flyfishing | 小虾三级 |园豆:943 | 2020-08-18 13:33
其他回答(1)
0

或者试试先判断你要修改的数据是否存在(把修改的条件作为查询的条件然后判断数量)

ifz | 园豆:302 (菜鸟二级) | 2020-08-18 11:01

因为它说IF ROW_COUNT() < 1 THEN附近有问题,是不是因为ROW_COUNT()不能这样用

支持(0) 反对(0) 养鼠的猫 | 园豆:250 (菜鸟二级) | 2020-08-18 11:28

@养鼠的猫: 没用过,试试我说的写法

支持(0) 反对(0) ifz | 园豆:302 (菜鸟二级) | 2020-08-18 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册