我正在尝试在存储过程中做这样的事情:
REPLACE INTO mytable
SET myid = `IDvalue`, mytitle = `sMyTitle`, myoptionalvalue = IFNULL(`sMyOptValue`, myoptionalvalue);
但似乎不起作用,知道该怎么做吗?
谢谢!
我正在尝试在存储过程中做这样的事情:
REPLACE INTO mytable
SET myid = `IDvalue`, mytitle = `sMyTitle`, myoptionalvalue = IFNULL(`sMyOptValue`, myoptionalvalue);
但似乎不起作用,知道该怎么做吗?
谢谢!
REPLACE INTO 语法的工作方式与 INSERT INTO 完全相同,只是在插入新行之前会自动删除具有相同主键或唯一键的任何旧行。
这意味着您应该将主键添加到被替换的值中,而不是 WHERE 子句,以限制您的更新。
REPLACE INTO myTable (
myPrimaryKey,
myColumn1,
myColumn2
) VALUES (
100,
'value1',
'value2'
);
...将提供与...相同的结果
UPDATE myTable
SET myColumn1 = 'value1', myColumn2 = 'value2'
WHERE myPrimaryKey = 100;