IF ELSE根据表是否有行在查询中插入或替换

时间:2019-04-18 22:11:38

标签: mysql

我正在尝试完成这样的事情?如何在查询中执行类似的操作?

需要注意的是,我想更改旧的pk,例如,如果它是888,我想将其更改为999,但表中仍然只有1行。

SET @toReplaceInto := (SELECT `pk` FROM `my_table` ORDER BY `pk` DESC LIMIT 1);
IF @toReplaceInto = NULL THEN
INSERT INTO `my_table` 
  (`pk`,`number`) VALUES (999,2);
ELSE
REPLACE INTO `my_table` 
  (`pk`,`number`) VALUES (999,2,2,3,4,5,6,7) WHERE `pk` = @toReplaceInto;
END IF;
``

0 个答案:

没有答案