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`))