程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM

MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM

編輯:MySQL綜合教程

MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM。本站提示廣大學習愛好者:(MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM正文


1:毛病日記年夜量毛病

150602 14:40:02 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... SELECT... ON DUPLICATE KEY UPDATE is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are updated. This order cannot be predicted and may differ on master and the slave. Statement:INSERT INTO tab_name
  

2:緣由:

查了下緣由,tab_name 這個表上有2個獨一鍵。則應用INSERT … ON DUPLICATE KEY UPDATE ,且以後數據庫binlog_format是statement格局,這類sql語句就會報unsafe。
  

官方手冊:

INSERT … ON DUPLICATE KEY UPDATE statements on tables with multiple primary or unique keys.When executed against a table that contains more than one primary or unique key, this statement is considered unsafe, being sensitive to the order in which the storage engine checks the keys, which is not deterministic, and on which the choice of rows updated by the MySQL Server depends.
  

處理辦法:

把binlog_format設置為ROW或許STATEMENT或許修正SQL。

普通情形下就是mysql設置裝備擺設成績,年夜家可以參考這篇文章:http://www.jb51.net/article/84357.htm

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved