2013-05-10 2 views
1

Должны ли мы явно указывать, что первичный ключ не должен быть пустым при создании таблицы? Даже если мы не упомянем ограничение «не null» для первичного ключа, SQL не позволит нам вставить значение NULL в поле первичного ключа. поэтому какая из следующих является хорошей практикой?Нужно ли нам явно указывать непустое ограничение для первичного ключа?

1) create table registration(
     id int primary key, 
     name varchar(10) 

    ) 

2)  create table registration(
     id int primary key not null, 
     name varchar(10) 

    ) 
+1

Хорошая практика будет прямо указывать 'NOT NULL'. Это не слишком много изменений, и, как правило, SQL Studio сделает это за вас. Следуйте рекомендациям здесь для хорошего примера. http://www.w3schools.com/sql/sql_primarykey.asp – TheGeekZn

+0

невидимый эффект .... – matzone

ответ

3

No у вас нет.

PRIMARY KEY - уникальный индекс, где все ключевые столбцы должны быть определены как NOT NULL. Если они явно не объявлены как NOT NULL, MySQL объявляет их так неявно (и молча). В таблице может быть только один ПЕРВИЧНЫЙ КЛЮЧ. Имя PRIMARY KEY всегда PRIMARY, поэтому не может использоваться как имя для любого другого типа индекса.

я тем не менее считаю, что хорошая практика, чтобы указать это явно - как это делает вещи более ясно, и вам не придется искать его из этого правила каждый раз, когда вы сомневаетесь.

0

Задайте себе вопрос: зачем вам не, если он что-то делает, не обязательно менее ясным без него, но более четко ясен? Вслед за этим я не вижу причин пропустить это и вполне обоснованные причины, чтобы испустить его в скрипте.

Лучшая практика, как правило, самая разумная.

Смежные вопросы