MySQLに関する個人的なメモ

あくまでも個人的なメモということでよろ。

  • テーブルを切り替える
USE tablename;
  • テーブルをInnoDBに切り替える
ALTER TABLE tablename ENGINE = InnoDB;
  • テーブルのCREATE文を見る(外部キーを確認するときなどに利用)
SHOW CREATE TABLE tablename;
  • エクスポート
mysqldump -u test -p --default-character-set=binary test_db > backup.sql
  • インポート
mysql -u test -p --default-character-set=utf8 test_db < backup.sql
  • 外部キー制約を張る
ALTER TABLE テーブル名 ADD FOREIGN KEY (制約を張りたいカラム) REFERENCES 張りたいテーブル(張りたいカラム);


ちなみに外部キーで不整合が起きるDBで更新しようとすると次のようになります。

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`fkey_test`, CONSTRAINT `test_ibfk_1` FOREIGN KEY (`test_id`) REFERENCES`pub_company` (`id`))