SQL插入具有非主键值的外键值

时间:2017-03-08 02:58:35

标签: sql

我有2张桌子

table Country    table Town
--------------   ---------------
country_id[PK]   town_id
country_name     town_name
                 country_id [FK]

这里有一些表值

Country                      Town
country_id | country_name    town_id | town_name | country_id
1          | Indonesia       T1      | Jakarta   | 1
2          | Japan           T2      | Bali      | 1
3          | South Korea     T3      | Busan     | 3
                             T4      | Tokyo     | 2

我想知道的是,有可能插入价值T5,首尔,韩国的城镇,系统会自动更改T5,首尔,3?

1 个答案:

答案 0 :(得分:0)

从另一个表中插入特定值时,尝试使用简单的子查询

INSERT INTO town (town_id, town_name, country_id) 
VALUES 
('T5', 'Seoul', (select country_id from Country where country_name like 'South Korea' LIMIT 1));