2012-12-31 94 views
0

我試圖做這樣的事情裏面存儲過程的:MySQL的REPLACE INTO和可選值IFNULL

REPLACE INTO mytable 
SET myid = `IDvalue`, mytitle = `sMyTitle`, myoptionalvalue = IFNULL(`sMyOptValue`, myoptionalvalue); 

但不是似乎工作,任何想法如何做到這一點?

謝謝!

回答

1

REPLACE INTO語法的工作方式與INSERT INTO完全相同,只是在插入新行之前自動刪除具有相同主鍵或唯一鍵的所有舊行。

這意味着,而不是WHERE子句,您應該將主鍵添加到值beeing替換限制您的更新。

REPLACE INTO myTable (
myPrimaryKey, 
myColumn1, 
myColumn2 
) VALUES (
100, 
'value1', 
'value2' 
); 

...將提供相同的結果...

UPDATE myTable 
SET myColumn1 = 'value1', myColumn2 = 'value2' 
WHERE myPrimaryKey = 100; 
+0

我不知道,謝謝您的光臨 – Santiago

+0

,好運與休息。 –