Create Table: CREATE TABLE ‘t1‘ ( ‘i‘ int DEFAULT NULL, ‘j‘ int DEFAULT NULL, ‘k‘ int DEFAULT NULL /*!80023 INVISIBLE */ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 

mysqldump  and mysqlpump  use SHOW CREATE TABLE , so they include invisible columns in dumped table definitions. They also include invisible column values in dumped data. 

Reloading a dump file into an older version of MySQL that does not support invisible columns causes the version-specific comment to be ignored, which creates any invisible columns as visible. 

## The Binary Log and Invisible Columns 

MySQL treats invisible columns as follows with respect to events in the binary log: 

•Table-creation events include the INVISIBLE  attribute for invisible columns. 

•Invisible columns are treated like visible columns in row events. They are included if needed according to the binlog_row_image  system variable setting. 

•When row events are applied, invisible columns are treated like visible columns in row events. In particular, the algorithm and index to use are chosen according to the slave_rows_search_algorithms  system variable setting. 

•Invisible columns are treated like visible columns when computing writesets. In particular, writesets include indexes defined on invisible columns. 

## 13.1.20.11 Setting NDB_TABLE Options 

•The mysqlbinlog  command includes visibility in column metadata. 

In MySQL NDB Cluster, the table comment in a CREATE TABLE  or ALTER TABLE  statement can also be used to specify an NDB_TABLE  option, which consists of one or more name-value pairs, separated by commas if need be, following the string NDB_TABLE= . Complete syntax for names and values syntax is shown here: 

COMMENT="NDB_TABLE= ndb_table_option [, ndb_table_option [,...]]" ndb_table_option : { NOLOGGING={1 | 0} | READ_BACKUP={1 | 0} | PARTITION_BALANCE={FOR_RP_BY_NODE | FOR_RA_BY_NODE | FOR_RP_BY_LDM | FOR_RA_BY_LDM | FOR_RA_BY_LDM_X_2 | FOR_RA_BY_LDM_X_3 | FOR_RA_BY_LDM_X_4} | FULLY_REPLICATED={1 | 0} } 

Spaces are not permitted within the quoted string. The string is case-insensitive. 

The four NDB  table options that can be set as part of a comment in this way are described in more detail in the next few paragraphs. 

NOLOGGING : Using 1 corresponds to having ndb_table_no_logging  enabled, but has no actual effect. Provided as a placeholder, mostly for completeness of ALTER TABLE  statements. 

READ_BACKUP : Setting this option to 1 has the same effect as though ndb_read_backup  were enabled; enables reading from any replica. Doing so greatly improves the performance of reads from the table at a 

