Defining the Row Format of a Table the default. It can only be specified explicitly in a  CREATE TABLE  or  ALTER TABLE  statement. Attempting to set the  innodb_default_row_format  variable to  COMPRESSED  returns an error: Newly created tables use the row format defined by the  innodb_default_row_format  variable when a ROW_FORMAT  option is not specified explicitly, or when  ROW_FORMAT=DEFAULT  is used. For example, the following  CREATE TABLE  statements use the row format defined by the  innodb_default_row_format variable. CREATE TABLE t1 (c1 INT); CREATE TABLE t2 (c1 INT) ROW_FORMAT=DEFAULT; When a  ROW_FORMAT  option is not specified explicitly, or when  ROW_FORMAT=DEFAULT  is used, an operation that rebuilds a table silently changes the row format of the table to the format defined by the innodb_default_row_format  variable. Table-rebuilding operations include  ALTER TABLE  operations that use  ALGORITHM=COPY  or ALGORITHM=INPLACE  where table rebuilding is required. See Section 15.12.1, “Online DDL Operations” for more information.  OPTIMIZE TABLE  is also a table-rebuilding operation. The following example demonstrates a table-rebuilding operation that silently changes the row format of a table created without an explicitly defined row format. Consider the following potential issues before changing the row format of existing tables from  REDUNDANT or  COMPACT  to  DYNAMIC . 3170 mysql>  SET GLOBAL innodb_default_row_format=COMPRESSED; ERROR 1231 (42000): Variable ’innodb_default_row_format’ can’t be set to the value of ’COMPRESSED’ mysql>  SELECT @@innodb_default_row_format; +-----------------------------+ | @@innodb_default_row_format | +-----------------------------+ | dynamic | +-----------------------------+ mysql>  CREATE TABLE t1 (c1 INT); mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE NAME LIKE ’test/t1’ \G *************************** 1. row *************************** TABLE_ID: 54 NAME: test/t1 FLAG: 33 N_COLS: 4 SPACE: 35 ROW_FORMAT: Dynamic ZIP_PAGE_SIZE: 0 SPACE_TYPE: Single mysql>  SET GLOBAL innodb_default_row_format=COMPACT; mysql>  ALTER TABLE t1 ADD COLUMN (c2 INT); mysql>  SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE NAME LIKE ’test/t1’ \G *************************** 1. row *************************** TABLE_ID: 55 NAME: test/t1 FLAG: 1 N_COLS: 5 SPACE: 36 ROW_FORMAT: Compact ZIP_PAGE_SIZE: 0 SPACE_TYPE: Single