回答編集履歴

1

調整

2023/01/05 08:38

投稿

yambejp
yambejp

スコア114833

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