我试图在mysql CONCAT
中使用UPDATE
。
"INSERT INTO table (
objekt_nr,
objekt_status)
VALUES(
:objekt_nr,
'salj,$fakt')
ON DUPLICATE KEY UPDATE
objekt_status = VALUES(CONCAT(objekt_status, 'salj,$fakt'))";
$query_params = array(
':objekt_nr' => $_POST['objekt_nr']);
我尝试了几个:
objekt_status = VALUES(CONCAT(objekt_status, objekt_status))";
objekt_status = VALUES(CONCAT(objekt_status, 'addMe'))";
objekt_status = VALUES(CONCAT(objekt_status, 'salj,$fakt'))";
objekt_status = VALUES((CONCAT(objekt_status, 'salj,$fakt')))";
错误代码:
objekt_status = VALUES(CONCAT(objekt_status, 'salj,$fakt'))";
...在'(objekt_status,'salj,fakt,'))附近使用的语法'
代码应该如何?
答案 0 :(得分:2)
你有一个分号,其中应该有一个逗号(在VALUES(objekt_nr);
之后),并且撇号位于$fakt
的最后一行的错误位置。仅VALUES
,手动here
INSERT
此查询应该是正确的:
"INSERT INTO table (
objekt_nr,
objekt_status)
VALUES(
:objekt_nr,
'salj,$fakt')
ON DUPLICATE KEY UPDATE
objekt_nr = objekt_nr,
objekt_status = CONCAT(objekt_status, 'salj,$fakt')";
另外,请确保您的变量被转义,或使用准备好的声明。
答案 1 :(得分:1)
尝试从查询中删除values
以及分号
"INSERT INTO table (
objekt_nr,
objekt_status)
VALUES(
:objekt_nr,
'salj,$fakt')
ON DUPLICATE KEY UPDATE
objekt_nr = objekt_nr,
objekt_status = CONCAT(objekt_status, 'salj,'$fakt)";
答案 2 :(得分:0)
实际上在我的情况下,我需要"价值观"除了CONCAT线以外的每一条线。
objekt_created_when = VALUES(objekt_created_when),
objekt_status = CONCAT(objekt_status, 'salj,$fakt') ";
如果我确实从所有行中删除了VALUES,则db中的值为空!