簡體   English   中英

刪除mysql varchar中的ID

[英]Delete on of the id in mysql varchar

我找不到刪除varchar列中存儲的ID之一的方法。

id         fieldid
1          ,5,13,15,66,443,

我該如何刪除,可以說這個字段ID為15?

正確的邏輯是:

UPDATE <your_table_name>
    SET fieldid = REPLACE(fieldid, ',15,', ',')
---------------------------------------^----^ these commas a really important
    WHERE id = 1;

但是,在SQL中存儲字符串數列表是不好的,不好的,不好的:

  • 數字應聲明為數字,而不是字符串。
  • 外鍵關系應明確聲明。
  • SQL具有糟糕的字符串處理功能。
  • 字符串列表中的查詢無法優化。
  • 還有更多原因。

有時,您會陷入別人的非常非常糟糕的設計決策中。

您雖然給了REPLACE一個機會

DECLARE @Test VARCHAR(50)

SET @Test = ',5,13,15,66,443,'

SELECT REPLACE(@Test,'15,','')

結果

,5,13,66,443,

用ORACLE檢查

UPDATE <your_table_name>
  SET fieldid = REPLACE(fieldid,',15','')
 WHERE id = 1;

這將用空字符串替換',15'。 就像從字符串中刪除。

暫無
暫無

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

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