我正在使用mysql选项更新重复结果。它可以很好地更新结果。现在我试图将现有行结果与前一行结果连接起来,并使用+和。连接运算符,但它给出错误。
这是伪代码
insert in table 1
on duplicate key update prod_name = "abc" concatenate with existing result
所以如果行中有记录XYZ,那么它应该是XYZ,abc和下一个 复制它应该是XYZ,abc,dpg等
答案 0 :(得分:3)
我相信你正在寻找mysql函数concat()
(docs)。
SQL看起来像这样:
INSERT INTO table (prod_name) VALUES ('abc')
ON DUPLICATE KEY UPDATE prod_name=concat(prod_name,',','abc')
答案 1 :(得分:2)
使用
$sql= " INSERT INTO table (prod_name) VALUES ($x)
ON DUPLICATE KEY UPDATE prod_name='prod_name+$x' ";
注意: prod_name
应为 UNIQUE index 或 PRIMARY KEY
试试这个
$sql= " INSERT INTO table (prod_name) VALUES ($x) ";
$sql .= is_numeric($x)
? " ON DUPLICATE KEY UPDATE prod_name=prod_name+$x "
: " ON DUPLICATE KEY UPDATE prod_name=CONCAT_WS(',',prod_name, $x) ";