场景:c#使用mysql数据库执行数据库迁移,使用了新增inserter的语句,然后报错
报错如下:
1.MySql.Data.MySqlClient.MySqlException (0x80004005): Incorrect string value: ‘\xE6\x9B\xB4\xE6\x94\xB9…’ for column ‘MigrationId’ at row 1
然后单独把语句拿出来放数据库执行会报错
1366 - Incorrect string value: ‘\xE6\x9B\xB4\xE6\x94\xB9…’ for column ‘MigrationId’ at row 1
这个时候正确的解决办法是:
将表格式更改下就可以插入数据了ALTER TABLE 执行inserter的表名 CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
以上方法是把该表的字符集改成utf8,
后面的COLLATE是把排序规则改成utf8_general_ci
更改后如下图: