如何在MySQL数据库中设置州和市的关系?
我想存储这种类型的记录如何在MySQL数据库中设置州和市的关系?,mysql,Mysql,我想存储这种类型的记录 State\u Id State\u name -------------------------- 1古吉拉特邦 2马哈拉施特拉邦 城市标识城市名称州标识 ----------------------------------------- 1 Bhavnagr 1 2 Rajkot 1 1孟买2 一个州可以找到几个城市(而一个城市属于一个独特的州)。要表示1-N关系,您需要两个表:一个用于城市,一个用于州,其中城市表是州表的子表(这意味着它有一个列引用它所属州的id):
State\u Id State\u name
--------------------------
1古吉拉特邦
2马哈拉施特拉邦
城市标识城市名称州标识
-----------------------------------------
1 Bhavnagr 1
2 Rajkot 1
1孟买2
一个州可以找到几个城市(而一个城市属于一个独特的州)。要表示1-N关系,您需要两个表:一个用于城市,一个用于州,其中城市表是州表的子表(这意味着它有一个列引用它所属州的id):
示例create table
语句:
create table states (
state_id int primary key auto_increment,
state_name varchar(100)
-- add more columns here as needed
);
create table cities (
city_id int primary key auto_increment,
state_id int not null,
city_name varchar(100),
-- add more columns here as needed
foreign key (state_id) references states(state_id)
);
看起来你已经有了解决方案。那么问题是什么呢?我不想在city\u id字段中给出主键,因为一个city\u id可以用于另一个州
create table states (
state_id int primary key auto_increment,
state_name varchar(100)
-- add more columns here as needed
);
create table cities (
city_id int primary key auto_increment,
state_id int not null,
city_name varchar(100),
-- add more columns here as needed
foreign key (state_id) references states(state_id)
);