【发布时间】:2020-03-12 23:14:06
【问题描述】:
我已经搜索到已经有办法避免重复错误插入了
参考:MySQL: Insert record if not exists in table
INSERT INTO table_listnames (name, address, tele)
SELECT * FROM (SELECT 'Unknown' AS name, 'Unknown' AS address, '022' AS tele) AS tmp
WHERE NOT EXISTS (
SELECT name FROM table_listnames WHERE name = 'Unknown'
) LIMIT 1;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0
SELECT * FROM `table_listnames`;
+----+---------+-----------+------+
| id | name | address | tele |
+----+---------+-----------+------+
| 1 | Rupert | Somewhere | 022 |
| 2 | John | Doe | 022 |
| 3 | Unknown | Unknown | 022 |
+----+---------+-----------+------+
有没有办法批量执行此操作? 或者批量添加数据的格式如何
参考:insert multiple rows via a php array into mysql
计划整合这个
$sql = array();
foreach( $data as $row ) {
$sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));
有办法吗?
【问题讨论】:
-
你可以使用 INSERT IGNORE 吗? stackoverflow.com/questions/548541/…
标签: php mysql sql sql-insert