回答編集履歴
1
調整
test
CHANGED
@@ -1,11 +1,33 @@
|
|
1
1
|
addressにおいてidがユニークであれば普通にできるはずです
|
2
2
|
まずはprepareを一旦おいておいてプリミティブな値で実行してみることです。
|
3
3
|
```SQL
|
4
|
+
create table address(id int primary key,address1 varchar(30));
|
5
|
+
insert address values
|
6
|
+
(1,'東京'),(2,'大阪'),(3,'愛知');
|
4
7
|
create table user(name varchar(30),address_id int);
|
5
|
-
create table address(id int primary key,address1 varchar(30));
|
6
8
|
insert into user(name,address_id) values
|
7
9
|
('佐藤',(SELECT id FROM address WHERE address1 = '東京')),
|
8
10
|
('鈴木',(SELECT id FROM address WHERE address1 = '大阪')),
|
9
11
|
('田中',(SELECT id FROM address WHERE address1 = '東京')),
|
10
12
|
('吉田',(SELECT id FROM address WHERE address1 = '福岡'));
|
11
13
|
```
|
14
|
+
|
15
|
+
# 調整
|
16
|
+
外部キー制約のサンプル
|
17
|
+
```SQL
|
18
|
+
create table address(id int primary key,address1 varchar(30));
|
19
|
+
insert address values
|
20
|
+
(1,'東京'),(2,'大阪'),(3,'愛知');
|
21
|
+
|
22
|
+
|
23
|
+
create table user(
|
24
|
+
name varchar(30),
|
25
|
+
address_id int,
|
26
|
+
foreign key(address_id) references address(id) on delete set null
|
27
|
+
);
|
28
|
+
insert into user(name,address_id) values
|
29
|
+
('佐藤',(SELECT id FROM address WHERE address1 = '東京')),
|
30
|
+
('鈴木',(SELECT id FROM address WHERE address1 = '大阪')),
|
31
|
+
('田中',(SELECT id FROM address WHERE address1 = '東京')),
|
32
|
+
('吉田',(SELECT id FROM address WHERE address1 = '福岡'));
|
33
|
+
```
|