MySQL可以通过CREATE TABLE 或者ALTER TABLE 来定义MySQL外键。下面就为您介绍这两种方法相关的语法,希望对您学习MySQL外键方面有所帮助。
CREATE TABLE 定义MySQL外键的语法:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,…)] create_definition: column_definition | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,…) [reference_definition] column_definition: col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT ’string’] [reference_definition] index_col_name: col_name [(length)] [ASC | DESC] reference_definition: REFERENCES tbl_name [(index_col_name,…)] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE] [ON DELETE reference_option] [ON UPDATE reference_option] reference_option: RESTRICT | CASCADE | SET NULL | NO ACTION
ALTER TABLE 定义MySQL外键的语法:
ALTER [IGNORE] TABLE tbl_name alter_specification [, alter_specification] … alter_specification: | ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,…) | ADD [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type] (index_col_name,…) | ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,…) [reference_definition] | DROP FOREIGN KEY fk_symbol