reference_option共有五种:CASCADE、SET NULL、RESTRICT、NO ACTION、SET DEFAULT。接下来分别说明它们的意义。 CASCADE:级联操作。即当被参照记录被删除或更新时外键值也删除或更新,写在on delete后面就是级联删除,写在on update后面就是级联更新。例如在上面的例子中,如果表”借书“定义了表约束FOREIGN KEY 借书证号...
key `pid`(`pid`) )engine=InnoDBdefaultcharset=utf8 auto_increment=1;//班级表 id作为 学生表外键的关联 已为主键索引createtablemy_class( `id`intunsignednotnullauto_incrementprimarykey, `cname`varchar(25)notnullcomment'class name', `info` tinytextnotnulldefault'')engine=InnoDBdefaultcharset=utf8...
)engine=InnoDB default charset=utf8 auto_increment=1; 这里我们将my_student作为my_profile的外表,即约束表,即my_profile以自身id作为 外键 关联 以 my_student 的pid字段作为参照,关联delete联动操作,update不做任何操作,如下 alter table my_profile add constraint profile_student foreign key (`id`) referenc...
指定主键关键字: foreign key(列名) 引用外键关键字: references <外键表名>(外键列名) 事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 例如: outTable表 主键 id 类型 int 创建含有外键的...
CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名) [ON UPDATE { CASCADE | SET NULL | NO ACTION | RESTRICT }] [ON DELETE { CASCADE | SET NULL | NO ACTION | RESTRICT }] CASCADE:指定在更新和删除操作表中记录时,如果该值被其他表引用,则级联更新或删除从表中相应的记录。
mysql外键(foreign key)的用法 在mysql中MyISAM和InnoDB存储引擎都支持外键(foreign key),但是MyISAM只能支持语法,却不能实际使用。下面通过例子记录下InnoDB中外键的使用方法: 创建主表: mysql> create table parent(id int not null,primary key(id)) engine=innodb;...
命令格式:[CONSTRAINT [symbol]] FOREIGN KEY[index_name] (col_name, …)REFERENCES tbl_name (col_name,…)[ON DELETE reference_option][ON UPDATE reference_option]reference_option:RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT 以上是完整的官方命令格式,看着都晕呀。[CONSTRAINT <外键名...
默认约束(default) 零填充约束(zerofill) 外键约束(foreign key) 主键约束 MySQL主键约束是一种用于保证表中数据唯一性和完整性的约束类型。主键是一个或多个列的组合,用于标识表中的唯一记录。主键约束要满足以下条件: 唯一性:主键的值在整个表中必须是唯一的。任意两个记录都不能具有相同的主键值。
默认约束(default):保存数据时,如果未指定该字段的值,则采用默认值 检查约束(check 8.0以后的新约束):保证字段满足某一个条件 外键约束(foreign key):用来让两张变的数据建立连接,保证数据的一致性和完整性 二、约束的案例实践 需求1:创建一个表id、name、age、address、stu_num五个字段。
SET DEFAULTis also supported by the MySQL Server but is currently rejected as invalid byInnoDB. Since MySQL does not support deferred constraint checking,NO ACTIONis treated asRESTRICT. For the exact syntax supported by MySQL for foreign keys, seeSection 15.1.20.5, “FOREIGN KEY Constraints”. ...