Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > CONSTRAINT PRIM. KEY отличие просто от PRIM. KEY


Автор: becks 30.8.2011, 18:50
Добрый вечер подскажите, люди добрые, в чем разница:

Код

CREATE TABLE customer
(  customer_id SMALLINT UNSIGNED,
   fname VARCHAR(20),
   lname VARCHAR(20),
   gender ENUM('M','F'),
   birth_date DATE,
   address VARCHAR(30),
   city VARCHAR(20),
   country VARCHAR(20),
   CONSTRAINT pk_customer PRIMARY KEY (customer_id)
);


от 

Код

CREATE TABLE customer
(  customer_id SMALLINT UNSIGNED,
   fname VARCHAR(20),
   lname VARCHAR(20),
   gender ENUM('M','F'),
   birth_date DATE,
   address VARCHAR(30),
   city VARCHAR(20),
   country VARCHAR(20),
   PRIMARY KEY (customer_id)
);


Оба запроса отлично отрабатывают, так зачем писать CONSTRAINT? Спасибо.

Автор: Akina 31.8.2011, 07:50
Цитата(becks @  30.8.2011,  19:50 Найти цитируемый пост)
зачем писать CONSTRAINT

Чтобы у ограничения было имя. Больше ни для чего.

Автор: becks 31.8.2011, 09:16
Цитата(Akina @ 31.8.2011,  07:50)
Чтобы у ограничения было имя. Больше ни для чего.

А если я напишу просто
Код

PRIMARY KEY (customer_id)


После я смогу cвязать этот ключ с ограничением, и если могу, как это сделать?
Спасибо.

Автор: becks 2.9.2011, 13:30
Up

Автор: Zloxa 2.9.2011, 20:50
Цитата(becks @  2.9.2011,  13:30 Найти цитируемый пост)
Up 

Вы до сих пор не поняли?
Цитата(becks @  31.8.2011,  09:16 Найти цитируемый пост)
После я смогу cвязать этот ключ с ограничением, и если могу, как это сделать?

Ключ сам по себе является ограничением в не зависимости от того, использовалось ли предложение constraint в create table или было опущено.

Цитата(becks @  30.8.2011,  18:50 Найти цитируемый пост)
 в чем разница:

Разница лишь в том, что в первом случае ограничения будет именовано "pk_customer", во втором случае, имя ограничению будет сгенерировано системой автоматически, предполагая, что для пользователя имя ограничения безразлично.

Автор: becks 5.9.2011, 09:13
Цитата(Zloxa @  2.9.2011,  20:50 Найти цитируемый пост)
Разница лишь в том, что в первом случае ограничения будет именовано "pk_customer", во втором случае, имя ограничению будет сгенерировано системой автоматически, предполагая, что для пользователя имя ограничения безразлично.


Вот это мне и было нужно. Спасибо за ответ. Тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)