MySQL 批量插入(Batch Insert)是指在一次数据库操作中插入多条记录,而不是逐条插入。这种操作可以显著提高数据插入的效率,因为它减少了与数据库的交互次数。
MySQL 支持多种批量插入的方式:
批量插入适用于以下场景:
MySQL server has gone away
错误原因:
这个错误通常是由于插入的数据量过大,超过了 MySQL 的 max_allowed_packet
配置限制。
解决方法:
max_allowed_packet
配置:max_allowed_packet
配置:Duplicate entry
错误原因: 这个错误通常是由于插入的数据中存在重复的键值。
解决方法:
INSERT IGNORE
:INSERT IGNORE
:ON DUPLICATE KEY UPDATE
:ON DUPLICATE KEY UPDATE
:以下是一个使用 Python 和 MySQL Connector 进行批量插入的示例:
import mysql.connector
# 连接到 MySQL 数据库
cnx = mysql.connector.connect(user='user', password='password', host='host', database='database')
cursor = cnx.cursor()
# 批量插入数据
sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
data = [
('value1', 'value2', 'value3'),
('value4', 'value5', 'value6'),
('value7', 'value8', 'value9')
]
cursor.executemany(sql, data)
cnx.commit()
# 关闭连接
cursor.close()
cnx.close()
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云