Спасиб. Но всё гуд не может быть. Оне на оф. сайте пишут хрень, что, мол MySQL 5.6 годица. А не годица, так как при создании таблицы ok_products при их (производственном) варианте возникает широко известная в узких кругах ошибка "Specified key was too long; max key length is 767 bytes", так как там используется VARCHAR-ы офигительной длины. Для мускуля это профиксили в 5.7.7, как пишут по тырнетам. А для моего 5.6, походу, надо эти varchar-ы только урезать.
Вот оно как для текущего MySQL 5.6:
# apt-cache show mysql-community-server
Package: mysql-community-server
Source: mysql-community
Version: 5.6.41-1debian8
Architecture: amd64
Maintainer: MySQL Release Engineering <
[email protected]>
Installed-Size: 78323
......
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.41 MySQL Community Server (GPL)
mysql> use sample;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> CREATE TABLE `ok_products` (`id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) NOT NULL DEFAULT '', `brand_id` int(11) DEFAULT '0', `name` varchar(512) NOT NULL DEFAULT '', `annotation` text NOT NULL, `description` text NOT NULL, `visible` tinyint(1) NOT NULL DEFAULT '1', `position` int(11) NOT NULL DEFAULT '0', `meta_title` varchar(512) NOT NULL DEFAULT '', `meta_keywords` varchar(512) NOT NULL DEFAULT '', `meta_description` varchar(512) NOT NULL DEFAULT '', `created` timestamp NULL DEFAULT NULL, `featured` tinyint(1) DEFAULT '0', `external_id` varchar(36) NOT NULL DEFAULT '', `rating` float(3,1) DEFAULT '0.0', `votes` int(11) DEFAULT '0', `special` varchar(255) DEFAULT '', `last_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `url` (`url`), KEY `brand_id` (`brand_id`), KEY `visible` (`visible`), KEY `position` (`position`), KEY `external_id` (`external_id`), KEY `hit` (`featured`), KEY `name` (`name`(333))) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
mysql>
И тоже самое на текущей версии 5.7:
# apt-cache show mysql-community-server
Package: mysql-community-server
Source: mysql-community
Version: 5.7.23-1debian8
Architecture: amd64
Maintainer: MySQL Release Engineering <
[email protected]>
Installed-Size: 167087
....
mysql> USE sample;
Database changed
mysql> CREATE TABLE `ok_products` (`id` int(11) NOT NULL AUTO_INCREMENT, `url` varchar(255) NOT NULL DEFAULT '', `brand_id` int(11) DEFAULT '0', `name` varchar(512) NOT NULL DEFAULT '', `annotation` text NOT NULL, `description` text NOT NULL, `visible` tinyint(1) NOT NULL DEFAULT '1', `position` int(11) NOT NULL DEFAULT '0', `meta_title` varchar(512) NOT NULL DEFAULT '', `meta_keywords` varchar(512) NOT NULL DEFAULT '', `meta_description` varchar(512) NOT NULL DEFAULT '', `created` timestamp NULL DEFAULT NULL, `featured` tinyint(1) DEFAULT '0', `external_id` varchar(36) NOT NULL DEFAULT '', `rating` float(3,1) DEFAULT '0.0', `votes` int(11) DEFAULT '0', `special` varchar(255) DEFAULT '', `last_modify` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `url` (`url`), KEY `brand_id` (`brand_id`), KEY `visible` (`visible`), KEY `position` (`position`), KEY `external_id` (`external_id`), KEY `hit` (`featured`), KEY `name` (`name`(333))) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0,07 sec)
mysql> quit;
Bye