MySQL WorkbenchからphpMyAdminでエラー
MySQLを使うとき、データベースの設計はMySQL Workbenchを使用している。非常に優秀なツールで、テーブル設計はもちろんER図が描けて、そこで設定したリレーションもデータベース設計に直接反映される。まだ使い始めてそれほど立っていないのだけれど、作成した情報からSQL文を吐き出して、それをphpMyAdminから投入すればデータベースが一発で作成されるので、とても便利。
しかし今日、初めて面倒が発生した。DB設計したファイルを更新するためにMySQL Workbenchでオープンし、いつものようにカラムとテーブルの整理をしてリレーションを貼り直し、SQL出力。そして出力したSQLを使ってphpMyAdminに流し込んだのだが、これがエラーとなり途中で止まってしまう。今までこんなことなかったのに。
今までは一度もそんなことなかったし、構造を変更したテーブルで問題が発生しているようなので、明らかに作業した内容に問題がありそう・・・でもわからない。で、しばしMySQL Workbenchの画面を眺めてみる・・・。
わかりました。リレーションの貼り元のカラムと、貼り先のカラムで、どちらも型はintegerだけれど、一方はunsigned属性が付加されているが、もう片方では付加されていない。「あっ」、思いこれを修正して吐き出したSQL文を使えば、今までどおり一発でSQL文が通るようになった。
いや、まぁ自分のミスではあるのだが、そういう一般に発生しやすいミスを事前に見つけて警告してくれるツールであった欲しかったなーと思った。とはいえ便利なツールなので、今後も使い続ける予定。さらなるバージョンアップに期待する。