簡體   English   中英

mysql REPLACE INTO和可選值IFNULL

[英]mysql REPLACE INTO and optional values IFNULL

我正在嘗試在存儲過程中執行以下操作:

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

但似乎無法正常工作,您知道如何執行此操作嗎?

謝謝!

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

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

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

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM