主键语法
Primary Key Syntax
除了视觉上的差异,在列定义中声明主节点或在底部声明主节点之间是否存在功能差异?
例如:
CREATE TABLE tbl_name (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
content TEXT
) ENGINE=InnoDB CHARSET=utf8;
以上是否不同于:
CREATE TABLE tbl_name (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
content TEXT,
PRIMARY KEY ( id )
) ENGINE=InnoDB CHARSET=utf8;
两种语法是等价的。
第一个使用 列 约束。
第二种语法使用 table 约束,当您需要 compound 主键时最有用,它引用多于一列(在这种情况下无法使用列约束)。
除了视觉上的差异,在列定义中声明主节点或在底部声明主节点之间是否存在功能差异?
例如:
CREATE TABLE tbl_name (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
content TEXT
) ENGINE=InnoDB CHARSET=utf8;
以上是否不同于:
CREATE TABLE tbl_name (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
content TEXT,
PRIMARY KEY ( id )
) ENGINE=InnoDB CHARSET=utf8;
两种语法是等价的。
第一个使用 列 约束。
第二种语法使用 table 约束,当您需要 compound 主键时最有用,它引用多于一列(在这种情况下无法使用列约束)。