mysqldump导出数据后,如果数据中有mysql保留字,如: judy’s father 中的单引号,导出后会变为 judy\’s father,默认情况下,再导入时,会报错,说 \ 号是unknown command,mysql对于此情况,在导出时可以加上 --allow-keywords 的参数,即可正常导入。
上述方法,我试了,对单引号仍旧不生效,不知何故。后来看到另外一篇文章,和我的最初想法一样,用sed。
- mysqldump -u root -p --no-create-db --complete-insert --compatible=mssql --default-character-set=utf8 --skip-opt --compact --extended-insert=false
- dbname tablename|sed "s/\\\'/''/g">tablename.sql
使用
sed
"s/\\\'/''/g"将问题解决了