2018-03-12 14:27:17 +02:00
call mtr.add_suppression("InnoDB: Cannot add field `c1` in table `test`\\.`tab0`");
2018-03-07 12:07:49 +02:00
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
2018-03-12 14:27:17 +02:00
1
2018-03-07 12:07:49 +02:00
SELECT @@innodb_file_per_table;
@@innodb_file_per_table
1
SET SQL_MODE=strict_all_tables;
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
Warnings:
2021-01-10 00:57:02 +01:00
Note 1071 Specified key was too long; max key length is 3072 bytes
2018-03-07 12:07:49 +02:00
SHOW CREATE TABLE tab0;
Table Create Table
tab0 CREATE TABLE `tab0` (
`c1` varchar(65530) DEFAULT NULL,
KEY `c1` (`c1`(3072))
2022-09-02 17:32:14 +04:00
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci ROW_FORMAT=COMPRESSED
2018-03-07 12:07:49 +02:00
DROP TABLE tab0;
CREATE TABLE tab0 (c1 VARCHAR(65530), KEY(c1(3073))) ENGINE=InnoDB KEY_BLOCK_SIZE=2;
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
2018-03-12 14:27:17 +02:00
CREATE TABLE tab0(c1 INT,c2 LONGBLOB ) ENGINE=InnoDB ROW_FORMAT=Dynamic;
DROP TABLE tab0;
2018-03-07 12:07:49 +02:00
SET GLOBAL innodb_strict_mode=OFF;
SET GLOBAL innodb_strict_mode=Default;
SELECT @@innodb_strict_mode;
@@innodb_strict_mode
2018-03-12 14:27:17 +02:00
1
2018-03-07 12:07:49 +02:00
CREATE TABLE tab1(c1 int ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
DROP TABLE tab1;