我正在使用 MySQL,我想知道这之间有什么区别:
CREATE TABLE Employees(
E_Id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
);
和:
CREATE TABLE EMPLOYEES(
E_Id INT NOT NULL AUTO_INCREMENT,
CONSTRAINT pk_Employee PRIMARY KEY(E_Id));
它们是一样的吗?
最佳答案
我认为两个主键定义是相同的。
查看我的sqlfiddle .
以及 show create table Employes_1 和 _2 的输出:
Employees_1 | CREATE TABLE
employees_1
(E_Id
int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (E_Id
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1Employees_2 | CREATE TABLE
employees_2
(E_Id
int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (E_Id
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
如果表名Employees
等于EMPLOYEES
,请参阅系统变量lower_case_table_names .
关于mysql - 主键和约束主键有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27037295/