2012-10-08 49 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'"; 
相關問題