56,687
社区成员
发帖
与我相关
我的任务
分享
INSERT INTO t (t.a, t.b, t.c)
VALUES ('key1','key2','value'), ('key1','key3','value2')
ON DUPLICATE KEY UPDATE
t.c = VALUES(t.c)
for (i = 2; i < numRows; i++)
{
for (j = 1; j < numCols; j++)
{
//获得exel中第 j 行4列的值 x1 ~ x4
$exelCols1 = x1;
$exelCols2 = x2;
$exelCols3 = x3;
$exelCols4 = x4;
}
// table1 中 Cols1和Cols2 两行联合唯一
$SQL = "INSERT INTO table1 (cols1, cols2, cols3, cols4) VALUES ($exelCols1, $exelCols2, $exelCols3, $exelCols4) ON DUPLICATE KEY UPDATE cols3 = $exelCols3, cols4 = $exelCols4";
// 执行SQL语句, 若不存在由cols1和cols2联合确定的唯一记录,则INSERT,否则更新该行记录的 cols3 和 cols4列
}
for (i = 2; i < numRows; i++)
{
for (j = 1; j < numCols; j++)
{
//获得exel中第 j 行4列的值 x1 ~ x4
$exelCols1 = x1;
$exelCols2 = x2;
$exelCols3 = x3;
$exelCols4 = x4;
}
if (i == 2)
$SQL = "INSERT INTO table1 (cols1, cols2, cols3, cols4) VALUES ($exelCols1, $exelCols2, $exelCols3, $exelCols4)";
else
$SQL = $SQL.",($exelCols1, $exelCols2, $exelCols3, $exelCols4)";
}
$SQL = $SQL." ON DUPLICATE KEY UPDATE cols3 = ?, cols4 = ?"
insert into 目标表(字段1, 字段2,...字段n) select 字段1, 字段2,...字段n from 源表 where 条件