「Mysql/外部キー」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→外部キー設定) |
(→外部キー設定) |
||
行1: | 行1: | ||
==外部キー設定== | ==外部キー設定== | ||
// 親テーブル | // 親テーブル | ||
− | + | DROP TABLE IF EXISTS users; | |
− | + | CREATE TABLE users( | |
− | id | + | id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, |
− | name | + | name VARCHAR(10) |
− | ) | + | ) ENGINE=InnoDB; |
// 子テーブル | // 子テーブル | ||
− | + | DROP TABLE IF EXISTS contents; | |
− | + | CREATE TABLE contents( | |
− | id | + | id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, |
− | user_id | + | user_id INT, |
− | + | FOREIGN KEY(user_id) REFERENCE users(id) | |
− | ) | + | ) ENGINE=InnoDB; |
− | + | INSERT INTO users(name) VALUES('test1'); | |
− | + | INSERT INTO contents(user_id) VALUES(1); // 成功 | |
− | + | INSERT INTO contents(user_id) VALUES(4); // 失敗 |
2016年8月15日 (月) 15:32時点における版
外部キー設定
// 親テーブル DROP TABLE IF EXISTS users; CREATE TABLE users( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(10) ) ENGINE=InnoDB;
// 子テーブル DROP TABLE IF EXISTS contents; CREATE TABLE contents( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, user_id INT, FOREIGN KEY(user_id) REFERENCE users(id) ) ENGINE=InnoDB; INSERT INTO users(name) VALUES('test1'); INSERT INTO contents(user_id) VALUES(1); // 成功 INSERT INTO contents(user_id) VALUES(4); // 失敗