Chinaunix

标题: Statement is not safe to log in statement format [打印本页]

作者: streetboy85    时间: 2009-04-02 14:23
标题: Statement is not safe to log in statement format
最近把mysql从5.0.45升级到了5.1.32,后来查看log是,发现会有以下的warning,上网搜了一下,感觉会跟log-bin有关,请问有没哪位遇到过这个问题?
090402 12:02:33 [Warning] Statement is not safe to log in statement format. Statement: update tb_charge set inNum = '37' limit 1
090402 12:56:38 [Warning] Statement is not safe to log in statement format. Statement: update tb_charge set inNum = '38' limit 1
090402 13:38:01 [Warning] Statement is not safe to log in statement format. Statement: update tb_charge set inNum = '39' limit 1
作者: streetboy85    时间: 2009-04-02 15:20
刚才我新建了一个db_test(num int) database,然后insert一个数据进去后,再update limit,同样出现warning,去掉limit就没事了...好奇怪...在5.0下又没这个警告
作者: 老肥羊    时间: 2009-04-02 18:30
[29 Nov 2008 10:00] Shane Bester
Description:
When insert delayed statements are executed with statement based binlogging enabled, you
don't get the full query - only the table name.

[Warning] Statement is not safe to log in statement format. Statement: b1

Why is entire query not printed?

How to repeat:
drop table if exists b1;
create table b1(a varchar(255))engine=myisam;
insert delayed into b1 set a='test';
[16 Feb 11:46] Davi Arnaut
Fixed by patch for Bug#42634
[18 Feb 21:13] Paul DuBois
Noted in 5.1.32, 6.0.10 changelogs.

The server cannot execute INSERT DELAYED statements when
statement-based binary logging is enabled, but the error message
displayed only the table name, not the entire statement.
作者: streetboy85    时间: 2009-04-02 22:28
db是别人设计的...规定了要用innodb...
作者: streetboy85    时间: 2009-04-03 09:16
另外就是,单单update limit,这个不算是delay statement吧?
作者: wlong2000joint    时间: 2009-06-03 13:09
这个问题原因是什么,有解决吗?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2