2012-10-08 115 views
0

我试图只将新更新复制到列updates并更新其余列中的值,但我碰到了一点麻烦,似乎锻炼。将PHP/MySQL Concat复制到单个列并更新表中的其他列

我的SQL是这样的:

$query="Update tickets SET product='$product', 
     p='$p', 
     i='$i', 
     summary='$summary', 
     workaround='$workaround', 
     concat(updates,'$additional_update'), 
     status='$status', 
     raised_by='$raised_by', 
     updated_by_user='$updated_by' WHERE id='$id'"; 

updates柱就像是一个注释列,其中新的更新,意味着要追加到现有文本。

我得到的Web服务器上的错误:

Update tickets SET product='T-Box', p='00000817766', i='-', summary='Testing update field 
\r\nAdding an update\r\ntesting if null works for update', workaround='n/a', concat(updates,' ','[email protected]:53:17:second update/n'), status='Open', raised_by='No', updated_by_user='test2' WHERE id='223' 

在MySQL中直接运行查询:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(updates,'[email protected]:53:17:second update/n'), status='Open', raised_by='No', updat' at line 1 

帮助深表感谢!

回答

2

你需要指定本声明concat(updates,'$additional_update')的值进行设置。

Update tickets 
SET product = '$product', 
     p = '$p', 
     i = '$i', 
     summary = '$summary', 
     workaround = '$workaround', 
     updates = CONCAT(updates,'$additional_update'), // <== see this 
     status = '$status', 
     raised_by = '$raised_by', 
     updated_by_user = '$updated_by' 
WHERE id = '$id' 
+0

我只是需要'updates = CONCAT(更新,'$ additional_update')'行来解决它! – greenpool

0

试试这个:

$query="Update tickets SET product='$product', 
     p='$p', 
     i='$i', 
     summary='$summary', 
     workaround='$workaround', 
     updates=concat(updates,'$additional_update'), 
     status='$status', 
     raised_by='$raised_by', 
     updated_by_user='$updated_by' WHERE id='$id'"; 
相关问题