Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql删除时警告:使用语句格式写入二进制日志的不安全语句_Mysql - Fatal编程技术网

Mysql删除时警告:使用语句格式写入二进制日志的不安全语句

Mysql删除时警告:使用语句格式写入二进制日志的不安全语句,mysql,Mysql,我的mysql delete语句很简单: DELETE FROM ts_template_size WHERE template_id in ( SELECT id FROM ts_template WHERE (id = 10153 OR style_type = 10153) ) 我得到一个警告: 使用语句格式写入二进制日志的不安全语句,因为BINLOG\u format=statement。在从另一个表中选择后写入具有自动增量列的表的语句是不安全的,因为检索行的

我的mysql delete语句很简单:

DELETE
FROM ts_template_size
WHERE template_id in
(
    SELECT id 
    FROM ts_template
    WHERE (id = 10153 OR style_type = 10153)
)
我得到一个警告:

使用语句格式写入二进制日志的不安全语句,因为BINLOG\u format=statement。在从另一个表中选择后写入具有自动增量列的表的语句是不安全的,因为检索行的顺序决定将写入哪些行(如果有)。此顺序无法预测,并且可能在主设备和从设备上有所不同

我在这里发现了另一个类似的问题:,但该问题中的语句是
insert…select
。据我所知,问题发生在
insert
情况下,因为select查询中的返回行在master和salve中的顺序可能不同,这可能导致插入时自动递增列的顺序不同


然而,我所做的是在表中删除,顺序不是master,为什么我仍然收到警告消息?

您是否绝对确定是您的
delete
语句导致了警告?@Phil,是的,绝对确定。在
ts\u template\u size
ts\u template
表中都有自动递增列,您是否绝对确定是您的
DELETE
语句导致了警告?@Phil,是的,绝对正确。在
ts\u template\u size
ts\u template
表中都有自动递增列