程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 在linux下寫的mysql無法插入,sql語句在復制中變髒的問題

在linux下寫的mysql無法插入,sql語句在復制中變髒的問題

編輯:MySQL綜合教程


1:問題故障描述   因為在linux下開發,所以修改mysql字段的時,用的phpmyadmin來直接修改生成修改後的sql,然後復制進word(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',    www.2cto.com     `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 默認值和類型   www.2cto.com   [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變髒出錯.
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved