「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); // 失敗