2012-10-21 30 views
0

在MySQL中,我使用函數CONCAT_WS向文本字段添加值。如何操作mysql中的數組值(連接的反向)

UPDATE table SET `textfield`= >>CONCAT_WS('textfield',$randomnumber)<< 

現在我已經在文本框(隨機數)以下的條目,例如:

18,20,30,20,10

現在我想喜歡使用功能CONCAT_WS的反向版本。 例如,當我得到數字20(帶有隨機PHP函數)時,我只想刪除該行中的最後20個。

18,20,30,20,10 => 18,20,30,10

當我將有一個MySQL表與行對於每個陣列值,而不是一個MySQL文本字段陣列,我能做到這一點是這樣的:

DELETE FROM table WHERE `textfield`='20' >>LIMIT 1<< 

我怎麼可以做同樣的,但與一個MySQL陣列,我在數據庫中直接操作。 例如像這樣:

UPDATE table SET `textfield`= >>DECONCAT_WS('textfield',20)<< 

但太糟糕了,這不是一個有效的代碼。

任何人都可以幫助我嗎?

+0

我很好奇你爲什麼要將你的數據標準化到一個像這樣的單個字段。而不是把它全部放到一個領域,那麼關於第二個表格有多對多的關係可以達到同樣的效果。操縱你正在考慮的數值會容易得多。 –

+0

我相信這是這個問題的重複:http://stackoverflow.com/questions/5928599/equivalent-of-explode-to-work-with-strings-in-mysql –

回答

0

據我所知:

  • 沒有這樣的MySQL中的功能
  • 沒有在MySQL中沒有數據類型一樣陣列
  • 有一些set-related string functions,它可以幫助,但這些作品只用逗號作爲分隔符,並沒有專門針對這個問題。