InnoDB does not have ROW_FORMAT FIXED. It didn't have it in MySQL 5.6 either.
However, in InnoDB 5.6 (both in MySQL 5.6 and MariaDB 10.0/10.1) innodb_strict_mode=0 by default, that's why the CREATE statement simply issued a warning and assumed COMPACT format instead.
MySQL [test]> select @@version;
|
+--------------+
|
| @@version |
|
+--------------+
|
| 5.6.33-debug |
|
+--------------+
|
1 row in set (0.00 sec)
|
|
MySQL [test]> CREATE TABLE `__syssequences` (
|
-> `systemName` CHAR(50) NOT NULL,
|
-> `sequenceName` CHAR(50) NOT NULL,
|
-> `sequenceStep` INT(11) DEFAULT '1',
|
-> `lastValue` INT(11) DEFAULT '1',
|
-> `lastInsert` DATETIME DEFAULT '0000-00-00 00:00:00',
|
-> `lastUpdate` DATETIME DEFAULT '0000-00-00 00:00:00',
|
-> PRIMARY KEY (`systemName`,`sequenceName`)
|
-> ) ENGINE=INNODB DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
|
Query OK, 0 rows affected, 1 warning (0.35 sec)
|
|
MySQL [test]> show warnings;
|
+---------+------+--------------------------------------+
|
| Level | Code | Message |
|
+---------+------+--------------------------------------+
|
| Warning | 1478 | InnoDB: assuming ROW_FORMAT=COMPACT. |
|
+---------+------+--------------------------------------+
|
1 row in set (0.00 sec)
|
In InnoDB 5.7 (both in MySQL 5.7 and MariaDB 10.2) innodb_strict_mode=1 by default, so both of them fail to create a table with the wrong ROW_FORMAT.
If you want the old behavior, set innodb_strict_mode=0.
greenman,
Maybe it should be explained somehow in the documentation if it hasn't been yet (I couldn't find).
While technically every part of it is documented separately ā supported row formats as well as the new default for the strict mode, ā it might be not easy for users to put it all together.
MySQL, for example, describes it directly at CREATE TABLE page: https://dev.mysql.com/doc/refman/5.7/en/create-table.html
InnoDB does not have ROW_FORMAT FIXED. It didn't have it in MySQL 5.6 either.
However, in InnoDB 5.6 (both in MySQL 5.6 and MariaDB 10.0/10.1) innodb_strict_mode=0 by default, that's why the CREATE statement simply issued a warning and assumed COMPACT format instead.
| @@version |
| 5.6.33-debug |
MySQL [test]> show warnings;
| Warning | 1478 | InnoDB: assuming ROW_FORMAT=COMPACT. |
In InnoDB 5.7 (both in MySQL 5.7 and MariaDB 10.2) innodb_strict_mode=1 by default, so both of them fail to create a table with the wrong ROW_FORMAT.
If you want the old behavior, set innodb_strict_mode=0.
greenman,
Maybe it should be explained somehow in the documentation if it hasn't been yet (I couldn't find).
While technically every part of it is documented separately ā supported row formats as well as the new default for the strict mode, ā it might be not easy for users to put it all together.
MySQL, for example, describes it directly at CREATE TABLE page: https://dev.mysql.com/doc/refman/5.7/en/create-table.html