
# 常见问题
1. 构建批量插入语句时必须注意SQL注入风险。 通过使用占位符和参数绑定，而非直接拼接用户输入的值。多行VALUES语句通过占位符"?"和参数列表插入数据，从而避免注入攻击。所有的动态数据都应作为参数传递，例如使用数据库对象\*DB的接口Prepare或Exec等接口传入可变参数形式。
   
2. 批量插入执行失败问题定位。 在批量插入操作中，如果某条记录插入失败，数据库通常只会返回整体错误信息（如主键冲突、外键约束或数据类型不匹配），而无法具体指出是哪一条记录导致了问题。如果一条SQL语句中包含多条记录，其中一条记录插入失败，整个事务可能会失败（如果启用了错误忽略机制则不会失败）。因此，如果需要定位出错的数据行，常用做法是将批量分成更小的批次或逐行插入并捕获错误
   
3. 内存使用增加。
   构建批量插入的SQL语句时，如果数据量过大，会导致内存占用显著增加。尤其是当使用字符串拼接方式构建SQL语句时，内存消耗可能会急剧上升。过大的批量处理可能导致超出数据库或GO驱动的最大SQL长度限制，或者触发其他参数限制，进而引发错误或性能问题。
   
 
