1

Тема: Не створюється таблиця

Буду радий якщо форумчане допоможуть. На stackoverflow.com є подібне запитання але там таке розвели,що ще більше звпутався.Це відповідь phpnyadmin при спробі встановити плагін.

SQL-запит:


CREATE TABLE IF NOT EXISTS `cot_user_blogs` (
  `ub_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `ub_cat` varchar(255) NOT NULL,
  `ub_theme` varchar(255) DEFAULT NULL,
  `ub_scheme` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `ub_comnotify` int(1) DEFAULT '0',
  `ub_config` text,
  `ub_created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `ub_created_by` int(11) NOT NULL DEFAULT '0',
  `ub_updated_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `ub_updated_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ub_id`),
  KEY (`user_id`, `ub_cat`),
  KEY (`user_id`),
  KEY (`ub_cat`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8  COLLATE=utf8_unicode_ci COMMENT='Bloger'
Відповідь MySQL: Документація

#1067 - Невірне значення по замовчуванню для 'ub_created_on'

2

Re: Не створюється таблиця

Ось, виправив і потестив:

CREATE TABLE IF NOT EXISTS `cot_user_blogs` (
  `ub_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `ub_cat` varchar(255) NOT NULL,
  `ub_theme` varchar(255) DEFAULT NULL,
  `ub_scheme` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `ub_comnotify` int(1) DEFAULT '0',
  `ub_config` text,
  `ub_created_on` datetime NOT NULL DEFAULT '1900-01-01 01:01:01',
  `ub_created_by` int(11) NOT NULL DEFAULT '0',
  `ub_updated_on` datetime NOT NULL DEFAULT '1900-01-01 01:01:01',
  `ub_updated_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ub_id`),
  KEY (`user_id`, `ub_cat`),
  KEY (`user_id`),
  KEY (`ub_cat`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8  COLLATE=utf8_unicode_ci COMMENT='Bloger'

3

Re: Не створюється таблиця

Так, там ж чітко прописано чому вона не створюється:

Segoy написав:

#1067 - Невірне значення по замовчуванню для 'ub_created_on'

https://dev.mysql.com/doc/refman/8.0/en/datetime.html

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'

Але, якщо Вам так потрібно саме значення '0000-00-00 00:00:00' то звісно можна його використовувати з певними "цікавинками", але я б не рекомендував  :)
- SET SQL_MODE='ALLOW_INVALID_DATES';
- CHAR
- ...

Подякували: leofun01, Segoy2

4

Re: Не створюється таблиця

Ви про https://stackoverflow.com/questions/363 … r-datetime? Там же все написано.
Вам треба вимкнути режим NO_ZERO_DATE та/або STRICT_TRANS_TABLES.
Найпростіше - додати

SET sql_mode=''

на початку скрипта (якщо повноваження дозволяють) або додати це в my.cnf/my.ini.
Офіційна документація

Подякували: leofun01, Segoy2

5

Re: Не створюється таблиця

Ой дякую!! Я аматор, так, все по верхам прохожу. А це сайт вирішив зробити на Cotonti дуже ця SMF.сподобалась.
Ще раз дякую!!

6

Re: Не створюється таблиця

Встановив без проблем. Ще раз дякую..