我使用的日志错误警告/错误写入到文件中。 当我执行INSERT IGNORE..SELECT声明,它只是不断写这个警告信息。
120905 3:01:23 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT IGNORE... SELECT is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are ignored. This order cannot be predicted and may differ on master and the slave.
我想停止MySQL的写进程不断上面一遍遍写错误。 (我看不到其他的日志,因为他们fillout整个日志文件...)
首先,我插入(A,B,C)插入表中。 C应该唯一在表中,并且a,b用于选择。 查询会是这样
SELECT c FROM table WHERE a=value1 AND value2<b AND b<value3
而我的插入查询
INSERT IGNORE INTO table VALUES (,,),(,,)...(,,)
我以为我可以更改查询不产生报警,但我的数据包含独特的领域,我需要保证申请是在表中是唯一的。 而500〜2000行应每隔几秒钟就被插入,所以我需要做批量插入。
如果已经有几百万行的十几插入,我需要在几秒钟内插入另一行2000。 我怎么能放心地将它们插入到表中没有与警告填充日志文件?
(因为我需要使用MySQL复制我不能关闭的二进制日志。)