我的mysql删除语句很简单:
DELETE
FROM ts_template_size
WHERE template_id in
(
SELECT id
FROM ts_template
WHERE (id = 10153 OR style_type = 10153)
)
我收到了警告:
自BINLOG_FORMAT = STATEMENT以来使用语句格式写入二进制日志的不安全语句。从另一个表中选择后,使用自动增量列写入表的语句是不安全的,因为检索行的顺序决定了将写入哪些行(如果有)。此订单无法预测,可能在主设备和从设备上有所不同。
我在这里找到了另一个类似的问题:Mysql Warning Code 1592 Unsafe statement written to the binary log using statement format,但该问题中的陈述是insert...select
。并且据我所知,问题发生在insert
情况下,因为select查询中的返回行可能在master和salve中有不同的顺序,这可能会导致auto_increment列在插入时有不同的顺序。
但是,我所做的是在表格中删除,订单不是主人,为什么我仍然收到警告信息?