创建外键时的选项:
1.创建测试表:
2.On Delete 的选项有
Restrict/no action/cascade/set null.其中cascade选项指定的话,如果删除父记录,依赖于他的子记录也会自动删除.相当于级联删除.如果指定no action和cascade都会报错,因为还有子记录所以无法删除该记录.set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null.
3.On Update 只有两个选项 no action/restrict.它们在更新和删除时并没有区别:如果与子表关联不允许删除.
【编辑推荐】
navicat for mysql 如何设置字段唯一?
在添加或变更表结构时,把id字段设置为整型,下面的选项就会出现auto increment的选择框,勾选中就可以了.1.建表时加上唯一性约束CREATE TABLE `t_user` (`Id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(18) NOT NULL unique,`password` varchar(18) NOT NULL,PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;2.给已经建好的表加上唯一性约束ALTER TABLE `t_user` ADD unique(`username`);mysql主键索引和唯一索引1.主键一定是唯一性索引,唯一性索引并不一定就是主键;2.一个表中可以有多个唯一性索引,但只能有一个主键;3.主键列不允许空值,而唯一性索引列允许空值。
请高手诊断下,我想用SQL创建表时可不可以没有主键,在表中有一个或多个外键,这样子做行吗?

可以 没有主键没关系 外键也可以有多个 但外键必须关联到别的主键上
SQL Server 2000如何创建主外键
列名 列类型 foreign key(列名) references 其他表名(其他表所对应本列的列名)注意 引用外键时其他表的列一定要是主键 或是部分主键才可以引用
发表评论