気ままなつぶやき

おべんきょしたこととか

【MySQL】show warnings

・・・(´・ω・`)メモ。

show warningsとか、使うシチュエーションがあんまりわかんなかったんだけど

この前友人に

「テーブルInnoDBで作ってたはずなんだけどMyISAMになってる!なんで?(;´Д`)」

とか聞かれたときにつかた。。。

テーブル作ったときに確認して欲しい感はあるのだがw






例えば、こんな適当なSQLを指定してみる。

mysql> create table test_table ( id int (1)) engine=te;
Query OK, 0 rows affected, 2 warnings (0.01 sec)


なんかwarningsがでてる(´・ω・`)

Query OK, 0 rows affected, 2 warnings (0.01 sec)


show warnings; (p゚ロ゚)==p)`д)ゲボッ

mysql> show warnings;
+---------+------+----------------------------------------------------+
| Level   | Code | Message                                            |
+---------+------+----------------------------------------------------+
| Warning | 1286 | Unknown table engine 'te'                          |
| Warning | 1266 | Using storage engine MyISAM for table 'test_table' |
+---------+------+----------------------------------------------------+
2 rows in set (0.00 sec)

teっていうストレージエンジンなんてないから
(デフォ設定されてるから)MyISAMにしといたぜっていってますね(´-ω-`)




mysql> show engines;


とかで確認してもナイッス。



ちなみに、

mysql起動時に --show-warnings オプションつけてたりしてもいい。

mysql> create table test_table (id int) engine=te;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

Warning (Code 1286): Unknown table engine 'te'
Warning (Code 1266): Using storage engine MyISAM for table 'test_table'


でた(・∀・)


my.cnfに設定で出るようにもできるらしいけど。。。
それはどっちでもいいかなーって素人目でおもている(´-ω-`)


ぷへへ