MySQL. Нужны ли ограничения "NOT NULL" для первичных ключей?

необходимо ли объявлять ограничения «NOT NULL» для первичных ключей в базе данных MySQL? Первичный ключ не может иметь значения NULL, так как он автоматически создает и автоматически заполняет запись поля. Так я правильно говорю, что это означает, что я могу удалить ограничение «NOT NULL» для моих первичных ключей?

(Как вы отметили свой вопрос mysql .) В MySQL вам не нужно делать это явно. Из руководства :

PRIMARY KEY – уникальный индекс, где все ключевые столбцы должны быть определены как NOT NULL . Если они явно не объявлены как NOT NULL , MySQL объявляет их так неявно (и молча).

Конечно, только потому, что вы не должны этого делать, это не значит, что вы не хотите ясности и т. Д.

Да и нет. Вы можете удалить «Not null», но не удалите это ограничение. Лично я оставлю их, вы ничего не выиграете от их взятия.

Первичный ключ не должен содержать столбцы с нулевым значением. auto_increment не является проверочным ограничением (это скорее ограничение по умолчанию), поэтому вы не можете удалить not null из определения столбца, который является частью первичного ключа, независимо от наличия auto_increment . Вам не нужно вводить значение not null при создании таблицы для первичного ключа в mysql, потому что механизм автоматически добавляет это ограничение.

Нам не нужно явно объявлять столбец как null, потому что ограничение первичного ключа делает столбец NOT NULL. Я проверил в Oracle.