sql数据库,以下创建命令我看不懂啊,能 帮我解释下么
createtablebanji_jiaoshi_mapping(banji_idintconstraintfk_banji_idforeignkeyreferences...
create table banji_jiaoshi_mapping
(
banji_id int constraint fk_banji_id foreign key references banji(banji_id),
jiaoshi_id int foreign key references jiaoshi(jiaoshi_id),
kecheng nvarchar(20),
constraint pk_banji_id_jiaoshi_id primary key (banji_id, jiaoshi_id, kecheng)
)
每一句话都是什么意思啊,最好能详细点说明下啦 谢啦 展开
(
banji_id int constraint fk_banji_id foreign key references banji(banji_id),
jiaoshi_id int foreign key references jiaoshi(jiaoshi_id),
kecheng nvarchar(20),
constraint pk_banji_id_jiaoshi_id primary key (banji_id, jiaoshi_id, kecheng)
)
每一句话都是什么意思啊,最好能详细点说明下啦 谢啦 展开
1个回答
展开全部
create table banji_jiaoshi_mapping --创建表,名为banji_jiaoshi_mapping
(
banji_id int constraint fk_banji_id foreign key references banji(banji_id), --字段banji_id ,类型整型,是banji表banji_id字段的外键
jiaoshi_id int foreign key references jiaoshi(jiaoshi_id),--这个按照上边的解释你就应该理解了
kecheng nvarchar(20),--kecheng字段是字符类型长度20
constraint pk_banji_id_jiaoshi_id primary key (banji_id, jiaoshi_id, kecheng )--其中banji_id, jiaoshi_id, kecheng这三个字段作为联合主键
)
更多追问追答
追问
banji_id int constraint fk_banji_id foreign key references banji(banji_id),
就是说,我这里创建了一个名叫banji_id 的字段,但是他的规则就跟外边那个引用的banji_id是一样的。
这难道就好比,我先创建一个a()函数,然后宏定义 b()函数就是a()函数。最后我再创建一个b()函数?
追答
外键的意思是
banji表里banji_id这个字段,假如里边存的数据有1,2,3这三条
那么在你banji_jiaoshi_mapping 表banji_id字段引用时,只能最多出现1,2,3这三种banji_id,而不可能出现这三种以外的数据
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询