sqlserver中建立外键约束有3中方式:enterprisemanager中,tables,designtable,设置table的properties,可以建立constraint,referencekey;enterprisemanager中,diagrams,newdiagrams,建立两个表的关系;直接用transactsql语句。
1、三个方法都需要先建立数据表。
1)创建表author:
createtable[dbo][author](
[id][bigint]notnull,[authorname][char](10)null,[address][char](480)null,[introction][ntext]null
)
2)创建表mybbs:
reatetable[dbo][mybbs](
[id][bigint]identity(1,1)notnull,[authorid][bigint]notnull,[title][char](40)null,[date_of_created][datetime]null,[abstract][char](480)null,[content][ntext]null
)
2、设置表mybbs中的authorid为外键,参照author表的id字段,直接使用transactsql语句,过程如下:
1)增加表mybbs(authorid)的外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:
begintransaction
altertabledbomybbsaddconstraintfk_mybbs_author
foreignkey(authorid)
referencesdboauthor([id])onupdatecascadeondeletecascade
2)删除外键约束fk_mybbs_author:
--altertabledbomybbsdropconstraintfk_mybbs_author
--rollback
committransaction
上面onupdatecascade,ondeletecascade两个选项,指明以后author表的id字段有delete,update *** 作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete *** 作的。
:SQL的主键和外键的作用:
1、插入非空值时,如果主键表中没有这个值,则不能插入。
2、更新时,不能改为主键表中没有的值。
3、删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
4、更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
数据库建表时怎么设置外键步骤如下:
第一步、打开要建外键表的设计器,右击选择“关系”。
第二步、然后d出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮。
第三步、d出另外一个窗体让我们选择主键表和列,记住要选择相同的,选好之后点击确定。
第四步、展开INSERT和UPDATE规范,在更新规则和删除规则有四个选项,分别是“不执行任何 *** 作”、“级联”、“设置为NULL”、“设置默认值”。
--修改主键
ALTER
TABLE
tablename
--修改表
ADD
CONSTRAINT
tb_PRIMARY
PRIMARY
KEY
CLUSTERED
(列名)
/将你要设置为主键约束的列/
--修改约束ALTER
TABLE
销售表
--修改表
ADD
CONSTRAINT
ck_sl
--创建检查约束
CHECK
(数量
>=
1
and
数量
<=
10000)
--添加约束条件
--修改外键alter
table
表名
add
constraint
外键名称
foreign
key
(字段)
references
关系表名
(关系表内字段)
SAE的数据库不能用于外部连接,你要内部连接就得用全局常量
数据库名的常量是 SAE_MYSQL_DB
你装应用以及代码连接数据库时都得用SAE_MYSQL_DB作为数据库名,服务器环境会根据你的账号解析为你实际的数据库名app_swzlzx
以上就是关于sql怎么设置外键(sql怎么设置外键约束)全部的内容,包括:sql怎么设置外键(sql怎么设置外键约束)、数据库建表时怎么设置外键、用SQL SERVER 如何在建好表后添加外码SQL语句怎么写呀等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)