在Linux下写的MySQL无法插入,sql语句在复制中变'脏'了

2015-02-02 16:31:14 · 作者: · 浏览: 32

1:问题故障描述


因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统,


同事发到项目管理系统后不能运行.于是有了这篇文章.


2:首先新建表



接着因为项目扩展,增加了1个字段,同时需要修改一个表的字段名和另外几个表的default 默认值和类型


上面这步,是用的phpmyadmin添加的字段后生成的一句sql, 看上去是没问题的,复制到word里面,再拿到mysql里面执行一下





为什么会这样子呢?


3: 错误分析.


生成的sql,是干净的, 途中同事只粘贴进了word.?


于是手写了一遍这个sql,并且在mysql里面运行 (为了测试,我复制了上面的表结构,并且新建了一个测试的表`nns_ad_log_count1`)




运行正常


同事只复制了一次,粘贴到了word (libreoffice)?


我重复一下他的动作


"1. 先用浏览器打开phpmyadmin,在phpmyadmin里面直接修改一次,产生sql语句"


"2. 在phpmyadmin 里面,复制生成的sql到系统的剪贴板缓存"


"3. 粘贴进word"


"4. 重复其他的修改操作,重复1,2,3步"


"5. 把整个word发送给我"


"6. 我把word里面的sql拷贝出来,运行 "


"7. 报错"


打开word,发现sql的语句的空格在word里面高亮了




但是在mysql里面直接执行并没能看见这个东西,在phpmyadmin里面执行上面的sql




空格显示出来了,原来是这个??


自此问题已经明了.sql语句在复制到word后给污染了. 但是为什么会这样子污染呢? 发现只有word粘贴进去后,会把utf8下的空格换成??


这个应该是linux下的office工具的问题, 这里就不再陈述了


4: 后记, 在linux下做开发提交的sql语句,


建议复制到vim里面查看详细的格式,


或者更简单的,复制出来后,在浏览器地址栏粘贴一次再复制进word来提交文档.以免sql变脏出错.