我想在mysql中刪除我的行的一部分。像這樣:從數據庫中刪除一部分行(數據庫行中的一組值)
我行:1,2,3,4
我想讓它:1,2,3
我該怎麼辦呢?
我知道這可以用這段代碼完成,但有沒有更好的方法?
UPDATE Table SET message = REPLACE(message, ",4", "") WHERE id = 1;
我想在mysql中刪除我的行的一部分。像這樣:從數據庫中刪除一部分行(數據庫行中的一組值)
我行:1,2,3,4
我想讓它:1,2,3
我該怎麼辦呢?
我知道這可以用這段代碼完成,但有沒有更好的方法?
UPDATE Table SET message = REPLACE(message, ",4", "") WHERE id = 1;
所以這將工作。
UPDATE Table SET message = CASE
WHEN message LIKE '4,%'
THEN // enter code here to replace '4,' in message with ''
WHEN message LIKE '%,4,%'
THEN // enter code here to replace ',4,' in message with ','
WHEN message LIKE '%,4'
THEN // enter code here to replace ',4' in message with ''
ELSE // this means all other occurances of 4 like 14,41,44,etc do nothing here or skip this else condition
END;
出於安全fistly您在測試服務器上測試代碼。
,如果你要換,4,MySQL將更換40太
必須更改字符串
,1,2,3,4,
,你必須更換,4,
這就是爲什麼他在WHERE條件下使用ID的原因:) –
值1,2,3,4在一列中對嗎? –
這會很好,如果你更新列例如UPDATE表SET消息=「1,2,3」WHERE id = 1; – Trushali
'UPDATE Table SET message =「1,2,3」WHERE id = 1;' 試試這個...... –