mysql.exec

mysql.exec

mysql.exec

功能

执行不需要返回结果集的 SQL。普通绑定执行一次;binds 批量配置会按 batch/workers 执行。

语法

参数

无参数。

返回值

类型说明
Object返回 SQL 执行统计对象。

执行结果字段

字段类型必定存在说明
totalInt本次执行处理的绑定行数。普通 bind() 执行时为 1;批量 binds() 执行时为绑定数组行数;无绑定行时为 0
rows_affectedInt数据库报告的受影响行数。批量执行时为各批次累加值。
last_insert_idInt数据库报告的最后插入 ID。批量执行时取各批次返回值中的最大值。
batch_countInt实际拆分执行的批次数。普通执行通常为 1;无绑定行时为 0
batch_sizeInt当前查询构建器配置的批大小。未调用 batch() 时使用默认值。
workersInt当前查询构建器配置并规范化后的并发工作数。

示例

注意事项

  • 普通 bind() 执行默认复用按 DSN 分组的 MySQL 全局连接池。
  • binds() 批量执行仍按本次 workers() 创建临时连接池,避免全局池改变批量并发边界。
  • 简单 INSERT ... VALUES (?, ?) 会自动合并为多值插入。
  • UPDATE、DELETE 不会自动拼接 SQL,会按批次逐条执行。
  • 单次调用受 BT_MYSQL_QUERY_TIMEOUT_MS 限制。