After testing, the first statement is generated after parsing by TiDB and cannot be executed in TiDB.
CREATE TABLE IF NOT EXISTS hp_user_7 ( id varchar(50) NOT NULL, phone varchar(50) DEFAULT NULL COMMENT ‘User phone number’, app_code varchar(50) DEFAULT NULL COMMENT ‘Function code’, app_type varchar(50) DEFAULT NULL COMMENT ‘Icon type: 1 large icon, 0 small icon, 2 medium icon, 3 shortcut area’, page varchar(8) DEFAULT NULL COMMENT ‘Location information: page’, row varchar(8) DEFAULT NULL COMMENT ‘Location information: row’, col varchar(8) DEFAULT NULL COMMENT ‘Location information: column’, sort int(10) DEFAULT NULL COMMENT ‘Sort’, create_time datetime DEFAULT NULL COMMENT ‘Creation time’, update_time datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘Update time’, PRIMARY KEY ( id ), UNIQUE KEY IDX_APPCODE ( phone, app_code )) ENGINE=InnoDB DEFAULT CHARSET=utf8]: parse DDL: CREATE TABLE IF NOT EXISTS enuo365_hp_user_7 ( id varchar(50) NOT NULL, phone varchar(50) DEFAULT NULL COMMENT ‘User phone number’, app_code varchar(50) DEFAULT NULL COMMENT ‘Function code’, app_type varchar(50) DEFAULT NULL COMMENT ‘Icon type: 1 large icon, 0 small icon, 2 medium icon, 3 shortcut area’, page varchar(8) DEFAULT NULL COMMENT ‘Location information: page’, row varchar(8) DEFAULT NULL COMMENT ‘Location information: row’, col varchar(8) DEFAULT NULL COMMENT ‘Location information: column’, sort int(10) DEFAULT NULL COMMENT ‘Sort’, create_time datetime DEFAULT NULL COMMENT ‘Creation time’, update_time datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘Update time’, PRIMARY KEY ( id ), UNIQUE KEY IDX_APPCODE ( phone, app_code )) ENGINE=InnoDB DEFAULT CHARSET=utf8"
The following is generated by MySQL 5.7.25 and can be executed in TiDB. It is suggested whether to add `` when parsing binlog.
CREATE TABLE hp_user_7
(
id
varchar(50) NOT NULL,
phone
varchar(50) DEFAULT NULL COMMENT ‘User phone number’,
app_code
varchar(50) DEFAULT NULL COMMENT ‘Function code’,
app_type
varchar(50) DEFAULT NULL COMMENT ‘Icon type: 1 large icon, 0 small icon, 2 medium icon, 3 shortcut area’,
page
varchar(8) DEFAULT NULL COMMENT ‘Location information: page’,
row
varchar(8) DEFAULT NULL COMMENT ‘Location information: row’,
col
varchar(8) DEFAULT NULL COMMENT ‘Location information: column’,
sort
int(10) DEFAULT NULL COMMENT ‘Sort’,
create_time
datetime DEFAULT NULL COMMENT ‘Creation time’,
update_time
datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘Update time’,
PRIMARY KEY (id
),
UNIQUE KEY IDX_APPCODE
(phone
,app_code
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
After the table is created, binlog parsing is still incorrect.