mysql - 主键和约束主键有什么区别?

标签 mysql

我正在使用 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=latin1

Employees_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/

相关文章:

mysql - 我在 coldfusion 中的搜索表单的 SQL 搜索查询

mysql - 存储来自数百个字段的数据的最佳实践

'OR' 中的 MySQL 'WHERE' 导致 'using filesort'

MySQL插入后触发

javascript - Laravel 实现动态侧边栏过滤器

mysql - 在持久化到数据库之前检查记录是否存在

mysql 空问题?

mysql - 如何创建与 MySQL Admin 的连接?

mysql - 如何查询私有(private)消息收件箱的2个关系表

PHP - 从显示图片(存储路径)的 MySQL 创建新闻源