MySQLさんからColumn not foundって言われているけど、ログを見る限りそのカラムはSQLのどこにも出現しない

MySQLおじさんたちの水晶玉デバッグ
33
どぅーあき @do_aki

MySQL さんから Column not found って言われているけど、ログを見る限りそのカラムは SQL のどこにも出現しない……。なんだこれ

2016-11-08 16:09:58
Ryuta Kamizono @kamipo

@do_aki なにそれこわい…ぼくも一回みた気がする…

2016-11-08 16:12:20
yoku0825 @yoku0825

@kamipo @do_aki 関数の引数にしてる文字列にクォート忘れるとそう言われそう。

2016-11-08 16:27:50
どぅーあき @do_aki

@yoku0825 @kamipo 実行してるクエリは `SELECT * FROM table WHERE id = 1` とほぼ同じなのです、、、

2016-11-08 16:29:52
Ryuta Kamizono @kamipo

@do_aki @yoku0825 わかる、けどなぜなのかはわからない。

2016-11-08 16:30:42
どぅーあき @do_aki

@do_aki 今のところ怪しい点は DROP TABLE して CREATE TABLE した直後であること (存在しないと言われるカラムは DROP 前の table には存在してて、 新たに CREATE する table に存在しない)

2016-11-08 16:31:59
ITOH Hiroyuki @i_rethi

@do_aki table_open_cache系が悪さしたりするのかなぁ。後でやってみよ

2016-11-08 16:34:13
どぅーあき @do_aki

ぁ、ちなみに 5.0系なので (大汗

2016-11-08 16:34:53
ITOH Hiroyuki @i_rethi

5.0だと・・・すぐ試せる環境あったかな・・・

2016-11-08 16:35:59
yoku0825 @yoku0825

@i_rethi @do_aki DROP TABLEの中で先にテーブルキャッシュ全部ふっ飛ばしませんでしたっけ?

2016-11-08 16:37:49
yoku0825 @yoku0825

@kamipo @do_aki トリガーとかあると…とか思いましたがSELECTなら関係ないですね。。

2016-11-08 16:38:24
どぅーあき @do_aki

@do_aki もう一つ気になった点としては、 DROP&CREATE するスレッドと エラーになる(SELECT した)スレッドが別だということかな。

2016-11-08 16:38:43
ITOH Hiroyuki @i_rethi

@yoku0825 @do_aki 飛ぶ気がするけど、別な接続でいじってたらタイミング次第でおきないかなー、とか妄想しております

2016-11-08 16:40:23
ITOH Hiroyuki @i_rethi

っく、5.5, 5.6, 5.7しかすぐにいじれる環境がない。。。

2016-11-08 16:41:30
yoku0825 @yoku0825

@i_rethi @do_aki メタデータロック取ってFLUSHした気がするけれどソースは読んでません!

2016-11-08 16:42:19
Ryuta Kamizono @kamipo

錯覚じゃなければtable metadata lockがある5.6でも見た気がする

2016-11-08 16:42:29
yoku0825 @yoku0825

@i_rethi @do_aki MDL取るのでDROP TABLEを追い越せない、という予測

2016-11-08 16:42:51
どぅーあき @do_aki

どうにか最小限のコードで再現できないか試行錯誤中

2016-11-08 16:54:41
どぅーあき @do_aki

@i_rethi @yoku0825 まさにこんな感じです! ただ、ここでいう スレッドB ではトランザクション使ってないんですよね、、、。

2016-11-08 17:02:58
ITOH Hiroyuki @i_rethi

@do_aki @yoku0825 begin無しでも同じになりました

2016-11-08 17:04:24
1 ・・ 4 次へ