SQL怎么写将表中的字段设置为主键后,由该表的另外一个字段作为外键.

2024-12-18 10:57:16
推荐回答(2个)
回答1:

要修改主键和外键的话需要先指定主键和外键的名称,以后修改时要用到。
这是的主键和外键设置步骤:
修改的sql语句:
--修改主键的名称PK_myTest为PK_myTest22
alter
table
myTest
drop
constraint
PK_myTest
alter
table
myTest
add
constraint
PK_myTest22
primary
key(aa)
--修改外键的名称fk_myTest为fk_myTest22
alter
table
myTest
drop
constraint
fk_myTest
alter
table
myTest
add
constraint
fk_myTest22
foreign
key(bb)
references
test!

回答2:

一、创建表约束
语法:
ALTER
TABLE
table_name
ADD
CONSTRAINT
constraint_name
constraint_type
constraint_definition
table_name
要修改的表的名称
constraint_name
约束的名称
constraint_type
约束的类型,有以下四种:
PRIMARY
KEY
主键约束
FOREIGN
KEY
外键约束
CHECK
检查约束
UNIQUE
唯一约束
constraint_defintion
约束的定义,不同的约束种类约束的定义是不一样的,每种约束的定义如下:
PRIMARY
KEY
(field_list)
FOREIGN
KEY
(source_field_name)
REFERENCES
target_table(target_field_name)
CHECK
(condition)
UNIQUE
(field_name)
创建外键约束时,需先在对应的主键表中将对应字段设置为主键。
例如:
1.
将Topic表的Id字段修改为主键
ALTER
TABLE
Topic
ADD
CONSTRAINT
PK_Topic
PRIMARY
KEY
(Id)
2.
Reply表的TopicId字段引用Topic表的Id字段
ALTER
TABLE
Reply
ADD
CONSTRAINT
FK_Reply_Topic
FOREIGN
KEY
(TopicId)
REFERENCES
Topic(Id)
3.
Student表的Sex字段必须填写“男”或“女”
ALTER
TABLE
Student
ADD
CONSTRAINT
CHK_Sex
CHECK(Sex='男'
OR
Sex='女')
二、删除表约束
语法:
ALTER
TABLE
table_name
DROP
CONSTRAINT
constraint_name