2014-11-20 2 views
0

Я использую MySQL и мне интересно, в чем разница между этим:В чем разница между PRIMARY KEY и CONSTRAINT PRIMARY KEY?

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)); 

Одинаковы ли они?

+0

Нет, они не то же самое. 'ALTER TABLE' используется для изменения таблицы,' CONSTRAINT' используется для добавления в столбец внешнего ограничения (обеспечения ссылочной целостности). –

+0

Где находится "ALTER TABLE" в вашем вопросе? – Barmar

+0

Я отредактировал мой вопрос, изменить таблицу не нужно .... Мне просто интересно, что такое КОНСТРАИРОВАНИЕ по сравнению с моим первым примером. –

ответ

1

Я думаю, что оба определения первичного ключа идентичны.

Просмотреть мой sqlfiddle.

и выход из шоу создать таблицу 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.

+0

Я не вижу разницы. –

+0

Точный. Нет никакой разницы. Вот что вы просите ... – Lars

+0

Ах, потому что вы сказали: «Я думаю, что нет» в моем вопросе «Они такие же». Должен ошибочно ... они такие же, как я считаю .... –