在MySQL中将原始值与查询值连接起来

时间:2016-03-16 00:40:08

标签: php mysql concatenation concat

我正在尝试在MySQL中使用JavaScript / PHP做的事情。我需要将MySQL中字段的值与从PHP传递给查询的值连接起来。例如,我们说我有一个名为favourites的字段,其值为27,我有这样的查询:

UPDATE useraccs SET favourites = favourites + ',30' WHERE id='10'

我希望favourites的新值为27,30,但我得到57,显然SQL在数字上添加它们。我已将此列的数据类型设置为TEXT,并且希望这会强制SQL将其视为字符串,但似乎并非如此。

在我的研究中,我读到了CONCAT()函数,我尝试了这个:

UPDATE useraccs SET favourites = CONCAT(favourites,',30') WHERE id='10'

这会导致查询失败。逻辑感觉正确,但显然不是该功能的使用方式。

我承认理论上,我可以抓住favourites的原始值并将其与PHP本身的新值连接起来,然后将其发送到MySQL,但我觉得必须有一种方法在一个查询中执行此操作...如果我错了,那就这样吧,但我确定必须有办法。

1 个答案:

答案 0 :(得分:0)

使用以下命令创建'27,30':

  

CONVERT(收藏夹,字符)+',30'