![]() |
|
Модераторы: skyboy |
![]()
|
|
| tralfamador |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 13.9.2007 Репутация: нет Всего: нет |
У меня в учебнике ("Букварь по PHP и MySQL") в демонстрационном примере написано:
... входим в командную строку MySQL, и выполняем команды: mysql > CREATE DATABASE mydb; mysql> CREATE TABLE employees ( id tinyint(4) DEFAULT '0' NOT NULL AUTO_INCREMENT, ...................................... .................................................. Нет ли в строке "DEFAULT '0' NOT NULL" противоречия? И надо ли у автоинкрементного поля задавать NOT NULL? |
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 20 Всего: 40 |
0 это не NULL.
У автоинкрементного поля синтаксически можно задавать и default и not null но смысла в этом нет. И кстати id tinyint - это тоже потенциально опасно. Слишкой маленький тип. Лучше все же int. -------------------- Бонифаций. |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
default для auto_increment?
1. так нельзя 2. потому что: default - это значение, которое будет добавлено в таблицу, если в запросу insert или replace не будет указано значение, которое нужно присвоить данному полю, auto_increment - это частный случай механизма defsult значений, если в запросе не указано значение для данного поля, то ему будет присвоено значение предыдущего/максимального (точнее указанного в свойстве auto_increment для таблицы) + 1. Поэтому запись default 0 auto_increment - это противоречие, на которое и ругается mysql. А вот указание not null - это правильно и хорошо. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |