人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL 5.1.30を使用して、
phpMyAdminのバージョン3.0.1-rc1を使用しているのです、
一行だけ変更すると以下のWarningが出ます。

1 行変更しました。
Warning: #1592 Statement is not safe to log in statement format.

このWarningを出ないようにするには、実行するSQLの後ろにLIMIT 1 とかが付いているため
出るのですが、UPDATEする際にこのLIMITを付与しないように
するにはどうしたらいいでしょうか?




●質問者: hopefully
●カテゴリ:就職・転職 ウェブ制作
✍キーワード:MySQL phpMyAdmin SQL Warning バージョン
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

UPDATE文の末尾にLIMIT句が入るのは正しい構文ですが、複合テーブルになっていると言うことはないですよね。

また、別のテーブルについても同様のエラーが出ますか?

◎質問者からの返答

http://lists.mysql.com/commits/44178

> Statement-based replication of DELETE ... LIMIT, UPDATE ... LIMIT,

> INSERT ... SELECT ... LIMIT is not safe as order of rows is not

> defined.

通常、テーブル上の行は特定の順番に並んでいるとは限りません。

よって、ORDER BY 句を指定しない場合、

「初めに見つかった3行をUPDATEせよ」というSQLは、

マスターとスレーブで「初めに見つかった3行」が

違う行だった場合、不整合を起してしまうためだと思われます。

ここの事ですね・・・


2 ● pahoo
●35ポイント

どうやら MySQL 5.1.30 のバグのようですね。

公式サイトの「Bug #41980」を参考にしてください。報告されたばかりです。

◎質問者からの返答

ありがとうございます。

うーーん、なんとかWarning避けたいんですよねーー。

早くバージョンアップするの待ちますかね・・・

いつ頃になるんだろう・・・

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ