• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

在linux下写的mysql无法插入,sql语句在复制中变'脏'的问题_MySQL

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

gaodaima.com
1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进wor本文来源gao@!dai!ma.com搞$$代^@码!网!d(libreoffice)后提交到项目管理系统, 同事发到项目管理系统后不能运行.于是有了这篇文章. 2:首先新建表 [delphi] CREATE TABLE IF NOT EXISTS `nns_ad_log_count` ( `nns_id` char(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID', `nns_access_type` tinyint(4) NOT NULL COMMENT '0:5m 1:1h 2:24h=1d', `nns_access_day` date NOT NULL COMMENT '哪一天的', `nns_access_index` int(11) NOT NULL COMMENT '间隔数,5m 1h 1d=24h', `nns_access_count` int(11) NOT NULL ) ENGINE=InnoDb DEFAULT CHARSET=utf8; 这步是OK的.接着因为项目扩展,增加了1个字段,同时需要修改一个表的字段名和另外几个表的default 默认值和类型 [sql] ALTER TABLE `nns_ad_log_count` CHANGE `nns_id` `nns_ad_id` CHAR( 32 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '广告ID'; 上面这步,是用的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变脏出错.
gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:在linux下写的mysql无法插入,sql语句在复制中变'脏'的问题_MySQL
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址