2013-03-18 19 views
1

爲什麼這個聲明不起作用?不能將逗號添加到sql文本

UPDATE users 
    SET downloaded = downloaded + "4,"; 

它將只設置下載等於4.下載的文本類型。我究竟做錯了什麼?我正在使用mysql。

+1

你正在使用什麼[RDBMS](http://en.wikipedia.org/wiki/Relational_database_management_system)? 'RDBMS'代表*關係數據庫管理系統*。 'RDBMS是SQL'的基礎,並且適用於所有現代數據庫系統,如MS SQL Server,IBM DB2,Oracle,MySQL等...... – 2013-03-18 02:31:50

+2

有些數據庫不使用'+'串聯字符串。有些數據庫不使用引號作爲字符串分隔符。你使用的是哪個數據庫? – Guffa 2013-03-18 02:33:41

+0

連接字符串的ANSI方法是使用雙管道:||。 IE:'下載|| '4','。但據我所知,只有PostgreSQL和Oracle本身支持它。如果你打開ANSI支持,MySQL可能會不瞭解DB2。 – 2013-03-18 02:40:08

回答

3

對於MySQL至少,如果你想字符串連接,試試這個來代替:

UPDATE users SET downloaded = CONCAT(downloaded, '4,'); 

我認爲,通過加法運算您解析字符串作爲數字,讓你只4

+0

謝謝。這就是我想要的。 – DarrenVortex 2013-03-18 02:34:36

+1

也取決於RDBMS,您可能需要使用單引號。 – 2013-03-18 02:35:14

0

您需要使用CONCAT功能。

+1

不是每個數據庫都有CONCAT功能 – 2013-03-18 02:40:48

+0

好點,如果你使用的是Mysql,那麼你CONCAT。 – 2013-03-18 02:44:57