投稿日: 2018年6月22日MySQL NULLを検索 MySQL MySQLでNULLの値を検索する NULLの値を検索したい場合、たとえば次のようにすればいかにもできそうですが mysql> SELECT * FROM my_table WHERE phone = NULL; これは、実際にNULLの値が入っていても、空の値を返します。 なぜなら、 phone = NULL はいつでもFalseだからです。 次のように、IS NULLを利用しましょう。 mysql> SELECT * FROM my_table WHERE phone IS NULL;
投稿日: 2018年6月22日MySQL Update文でLEFT JOINする MySQL MySQL Update文でLEFT JOINする Update文の中で、LEFT JOINし、特定の条件に合致するデータだけ更新する方法です。 examinationsテーブルとcsv_examinationsテーブルをJOINして、Updateします。 UPDATE examinations LEFT JOIN csv_examinations ON csv_examinations.order_id = examinations.order_id SET examinations.examination_date = csv_examinations.examination_date, WHERE csv_examinations.status = 'U' SELECT文などと、ちょっと順番が違うので、「おや」と思ってしまいますよね。 INNER JOINももちろんできるようです。
投稿日: 2018年6月22日MySQL Workbench MySQL WorkbenchはMySQLをあれこれできる便利なツールです。 ダウンロードは無料で下記のサイトからできますが、Oracleアカウントを登録しないといけないので、若干面倒です。 https://www-jp.mysql.com/products/workbench/
投稿日: 2018年6月22日MySQL Workbench 外部キーを好きな名前にする MySQL MySQL Workbench MySQL Workbenchを使い始めたばかりの初心者です。 目的は、ER図をきれいに書きたい!!ドキュメントを自動的に書きたい!!これにつきます。 さて、ER図を書いている間に、1:1 とか、1:n とか、アソシエーションを作りますと、外部キーがデフォルトでテーブル名+テーブル名+idとかの勝手な外部キーの名前にされちゃいますよね。 便利な時はいいんですが、私はCakePHPで使いたかったので、この命名だと困るんです。 例えば、図のように、 出荷(deliveries)と納品書(delivery_slips)が、出荷:納品書= 1:n だとすると、MySQL WorkbenchのER図作成機能でピッピッと1:nにすると、アソシエーションが勝手に作られて、外部キーの名前が deliveries_id になっちゃいます。 それは困っちゃうのが、CakePHPの命名規約でして、CakePHPだと delivery_id じゃないとなんですね。 (確か、CakePHP内で命名規約を外れたイレギュラーのアソシエーションも作れた記憶がありますが、今回テーブル数が多すぎるので、それはよくない) そんな場合は、上の図の赤丸のところをクリックして、アソシエーションを作ると、自分の指定した外部キーでアソシエーションが作れます。 緑にピカーと光るのも、オサレですね!!o(>▽<)o MySQL Workbenchはまだまだ使いたてなので、もっとよい方法があれば、教えてください。┌o ペコッ ちなみに、デフォルトの外部キー名を変更したい場合は、 Edit→Preferences→Modeling→Defaults のForeign Key…とあるところのColumn Nameなどを変更すれば変えられます。
投稿日: 2018年6月22日MySQL エラー 1034 – Incorrect key file for table try to repair it MySQL MySQL エラー #1034 – Incorrect key file for table ‘○○’ try to repair it 上記のようなエラーメッセージが出て(○○はテーブル名)、データベースを更新できない場合は、そのテーブルが破損している可能性があります。 REPAIRコマンドで、修復しましょう。 //○○はテーブル名 REPAIR TABLE `○○`