@[TOC](Column 3 of table ‘xxxxx’ cannot be converted from type ‘int’ to type ‘varchar(32)’)
Slave SQL 报错信息如下:
Column 3 of table ‘xxxxx’ cannot be converted from type ‘int’ to type ‘varchar(32)’
这个错误是指:Column 3 字段类型由主库的int类型字段写入到从库时,字段是varchar类型中,是属于类型不一致导致的错误
主从binlog的模式如果是Statement level,则不会进行字段的类型检测,会直接执行
主从binlog的模式如果是Row level,则会强制进行字段的类型检测,类型不一致则会报上面的错误
网上也有人文章说在binlog模式是row时的记录中,会有字段类型记录,但是我查看了我的binlog,未发现类型的记录
BEGIN/*!*/;# at 3979#23 19:56:06 server id 1 end_log_pos 4031 Table_map: `hutest`.`book` mapped to number 34# at 4031#23 19:56:06 server id 1 end_log_pos 4075 Write_rows: table id 34 flags: STMT_END_F### INSERT INTO `hutest`.`book`### SET### @1=7### @2='a2'### @3='b2'### @4=7# at 4075#23 19:56:06 server id 1 end_log_pos 4102 Xid = 2183COMMIT/*!*/;