Когда я создаю таблицу в PhpMyAdmin, Я получаю эту ошибку:
# 1067 — Неверное значение по умолчанию для ‘htmlstate’
Запрос на создание таблицы:
CREATE TABLE `cms_article` (
`contentid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`pagetext` mediumtext /*!40101 COLLATE latin1_bin */ NOT NULL,
`threadid` int(10) unsigned DEFAULT NULL,
`blogid` int(10) unsigned DEFAULT NULL,
`posttitle` varchar(255) /*!40101 COLLATE latin1_bin */ DEFAULT NULL,
`postauthor` varchar(100) /*!40101 COLLATE latin1_bin */ DEFAULT NULL,
`poststarter` int(10) unsigned DEFAULT NULL,
`blogpostid` int(10) unsigned DEFAULT NULL,
`postid` int(10) unsigned DEFAULT NULL,
`post_posted` int(10) unsigned DEFAULT NULL,
`post_started` int(10) unsigned DEFAULT NULL,
`previewtext` varchar(2048) /*!40101 COLLATE latin1_bin */ DEFAULT NULL,
`previewimage` varchar(256) /*!40101 COLLATE latin1_bin */ DEFAULT NULL,
`imagewidth` int(10) unsigned DEFAULT NULL,
`imageheight` int(10) unsigned DEFAULT NULL,
`previewvideo` mediumtext /*!40101 COLLATE latin1_bin */,
`htmlstate` enum('off','on','on_nl2br') /*!40101 COLLATE latin1_bin */ NOT NULL DEFAULT 'off',
PRIMARY KEY (`contentid`)
) ENGINE=InnoDB AUTO_INCREMENT=503 /*!40101 DEFAULT CHARSET=latin1 */ /*!40101 COLLATE=latin1_bin */;
В более ранних версиях MySQL вы можете просто объявить это NOT NULL
:
Если объявлен столбец ENUM для разрешения NULL, значение NULL является
допустимое значение для столбца, а значением по умолчанию является NULL. Если ENUM
столбец объявлен как NOT NULL, его значением по умолчанию является первый элемент
список допустимых значений.
(От Вот.)
Первое значение 'off'
будет использоваться в вашем случае.
Других решений пока нет …