ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN KEY(外键字段名) REFERENCES 外表表名(主键字段名) [ON DELETE {RESTRICT |CASCADE| SETNULL|NOACTION | SET DEFAULT}] [ON UPDATE {RESTRICT |CASCADE| SETNULL|NOACTION | SET DEFAULT}] 其中,ON DELETE 和 ON UPDATE 表示事件触发限制,各参数意义如下: | ...
*/ -- 为一个已存在的表定义外键 alter table 表名 add constraint 约束名 foreign key(列名) references 父表名(列名) [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] ; 1. 2. 3. 4. 5. ...
外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以; 为表添加外键的语法:alter table 表名 add constraint 外键名称 foreign key(外键字段名称) references 外表表名(主键字段名称) 举个例子:有两张表,一张班级表class,一张学籍表grade: 我们为学籍...
方案1: 在创建表的时候就增加外键: 在表字段之后使用foreign key foreign key(外键字段) references 主表(主键); 方案2: 在创建表之后增加外键: 指定外键名字 alter table 表名 add constraint 外键名 foreign key(外键字段) references 父表(主键字段) 查看指定的外键名 外键增加的基础条件: 外键字段必须与引用...
ALTER TABLE table_name ADD PRIMARY KEY (column_name); 以下SQL 语句在 employees 表中添加了一个主键: 实例 ALTERTABLEemployees ADDPRIMARYKEY(employee_id); 6. 添加 FOREIGN KEY ALTER TABLE child_table ADD CONSTRAINT fk_name FOREIGN KEY (column_name) ...
该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。 ON DELETE、ON UPDATE表示事件触发限制,可设参数: RESTRICT(限制外表中的外键改动) CASCADE(跟随外键改动) SET NULL(设空值) SET DEFAULT(设默认值) ...
...FOREIGN KEY关键字用于创建外键约束,REFERENCES子句用于指定关联的表和列。第二步:添加外键约束要添加外键约束,可以使用ALTER TABLE语句。...FOREIGN KEY子句用于指定要添加外键约束的列,REFERENCES子句用于指定关联表和列。如何使用外键约束一旦外键约束被创建,就可以使用它来确保数据的完整性和一致性。
InnoDB允许你使用ALTER TABLE在一个已经存在的表上增加一个新的外键: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...) REFERENCES tbl_name (index_col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option] ...
set default方式:主动权在主表上,如果主表被依赖字段修改了,从表的外键字段会将值设置为default,这里要求,外键字段必须有默认约束。 使用方法 alter table 表名 add constraint 约束名 foreign key(列名) references 其他表(其他表的列名) [on update 等级] [on delete 等级]; ...
constraint_definition:约束的定义(如UNIQUE、PRIMARY KEY)。 示例: 向employees表中添加一个唯一约束: ALTERTABLEemployeesADDCONSTRAINTunique_emailUNIQUE(email); 6.2 删除约束 要从表中删除约束,可以使用以下语法: ALTERTABLEtable_nameDROPINDEX index_name; ...