「Mysql/外部キー」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→外部キー設定) |
(→外部キー設定) |
||
| 行3: | 行3: | ||
DROP TABLE IF EXISTS users; | DROP TABLE IF EXISTS users; | ||
CREATE TABLE users( | CREATE TABLE users( | ||
| − | id | + | id int NOT NULL PRIMARY KEY AUTO_INCREMENT, |
| − | name | + | name varchar(10) |
) ENGINE=InnoDB; | ) ENGINE=InnoDB; | ||
| 行10: | 行10: | ||
DROP TABLE IF EXISTS contents; | DROP TABLE IF EXISTS contents; | ||
CREATE TABLE 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) | FOREIGN KEY(user_id) REFERENCE users(id) | ||
) ENGINE=InnoDB; | ) ENGINE=InnoDB; | ||
2016年8月15日 (月) 15:33時点における版
外部キー設定
// 親テーブル 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); // 失敗
