Luc*_*ord 27 php mysql sql database
在重复键更新时使用insert ...时,更新多列的语法是什么?
INSERT INTO table1 (col1, col2, col3, col4) VALUES (’$val1’, ‘$val2’, ‘$val3’, ‘$val4’)
ON DUPLICATE KEY UPDATE col2=‘$val2’, col3=‘$val3’, col4=‘$val4’ // <-- not sure
Run Code Online (Sandbox Code Playgroud)
更新:我在PHP中使用它.由于这是一个语法问题,因此非常相关.
$result = mysql_query("INSERT INTO table1 (col1, col2, col3, col4)
VALUES (’$val1’, ‘$val2’, ‘$val3’, ‘$val4’)
ON DUPLICATE KEY UPDATE (col2=‘$val2’, col3=‘$val3’, col4=‘$val4’)")
Run Code Online (Sandbox Code Playgroud)
再次,不确定这个最后一部分与"更新".
sat*_*hia 33
INSERT INTO table1
(`col1`, `col2`, `col3`, `col4`)
VALUES
('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
`col2`='val2',
`col3`='val3', [...]
Run Code Online (Sandbox Code Playgroud)
我修改了你的报价和标记.
编辑:
在PHP中:
$result = mysql_query("
INSERT INTO table1
(col1, col2, col3, col4)
VALUES
('" . $val1 . "', '" . $val2 . "', '" . $val3 . "', '" . $val4 . "')
ON DUPLICATE KEY UPDATE
col2='" . $val2 . "',
col3='" . $val3 . "',
col4='" . $val4 . "'"
);
Run Code Online (Sandbox Code Playgroud)
请注意,值由单引号括起'.如果值是数字类型(INT,FLOAT等),则可以删除这些引号.反引号周围的列名选择的,只要你不使用列名状count,type或table.
在PHP示例中,字符串连接用于清楚地分离变量.
Wri*_*ken 27
嗯,这是旧的.但是,当然,你只需要提供一个值一次,没有理由将它添加第二次查询(其中派上用场了多个插件,或准备语句):
INSERT INTO table1
(col1, col2, col3, col4)
VALUES
('val1', 'val2', 'val3', 'val4')
ON DUPLICATE KEY UPDATE
col2=VALUES(col2),
col3=VALUES(col3) [,...]
Run Code Online (Sandbox Code Playgroud)
哪个具有优势,它仍然适用于多个插入语句:
INSERT INTO table1
(col1, col2, col3, col4)
VALUES
('val1', 'val2', 'val3', 'val4'),
('val5', 'val6', 'val7', 'val8'),
('val9', 'val10', 'val11', 'val12')
ON DUPLICATE KEY UPDATE
col2=VALUES(col2),
col3=VALUES(col3) [,...]
Run Code Online (Sandbox Code Playgroud)
Woj*_*ski -1
您的查询似乎是正确的。这是我的此类查询的示例:
INSERT INTO Stat (id, month, year, views, redirects, onList, onMap, emails) VALUE ("' . $Id . '","' . $month . '","' . $year . '",0,0,"' . $data['onList'] . '","' . $data['onMap'] . '",0) ON DUPLICATE KEY UPDATE onList=onList+' . $data['onList'] . ', onMap=onMap+' . $data['onMap']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42748 次 |
| 最近记录: |