我正在使用日誌錯誤將警告/錯誤寫入文件。當我執行INSERT IGNORE..SELECT語句時,它只是繼續寫這個警告消息。關閉mysql不安全語句警告
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記錄程序不斷寫錯誤以上一遍又一遍。 (我看不到其他日誌,因爲他們填寫了整個日誌文件...)
首先,我將(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複製關閉二進制日誌。)
您是否正在複製表格 - 因爲如果您是這個錯誤非常重要。 –
是的,我正在使用mysql複製進行備份,可擴展性的原因 – user1640242
那麼你有沒有讀錯誤消息呢? – zerkms