上周我一个朋友加班到凌晨三点,就为了把一个MySQL库迁移到SQL Server。结果呢?数据导进去之后,业务报表全乱了,主键冲突、中文乱码、时间戳错位,他差点把键盘摔了。这事儿让我想起来,很多人觉得数据迁移不就是导出导入嘛,顶多改改语法。可真动手的时候,MySQL和SQL Server这俩数据库的脾气差得不是一星半点。今天我就把自己踩过的坑、身边人踩过的坑,掰开了揉碎了聊一聊,帮你把这五个最要命的坑绕过去,成功率至少翻倍。

第一个坑:字符集和排序规则。MySQL默认用utf8mb4,但SQL Server默认是Latin1GeneralCIAS。你从MySQL导出的数据里,如果包含中文、emoji或者特殊符号,直接往SQL Server里灌,轻则乱码,重则插入失败。我见过一个案例,某电商平台迁移用户昵称,因为昵称里有


