删除时的Mysql警告:使用语句格式

时间:2016-10-13 03:07:33

标签: mysql

我的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列在插入时有不同的顺序。

但是,我所做的是在表格中删除,订单不是主人,为什么我仍然收到警告信息?

0 个答案:

没有答案