作者 主題: MySQL Win 版跟 Linux 版的欄位長度  (閱讀 3765 次)

0 會員 與 1 訪客 正在閱讀本文。

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
MySQL Win 版跟 Linux 版的欄位長度
« 於: 2009-08-27 11:10 »
Linux 版的 varchar(5) 可以裝 四個中文加一個數字
Win 版的 varchar(5) 四個中文加一個數字就說長度不夠!!

資料庫是 utf-8 , table 是 big5 !  欄位沒有特別定義是 big5 還是 utf-8
真是奇怪!!

Win
引用
Server version:      5.0.85-community-nt MySQL Community Edition (GPL)
Protocol version:   10
Connection:      xxx.xxx.xxx.22 via TCP/IP
Server characterset:   utf8
Db     characterset:   utf8
Client characterset:   utf8
Conn.  characterset:   utf8

Linux
引用
Server version:      5.0.83-log Gentoo Linux mysql-5.0.83
Protocol version:   10
Connection:      Localhost via UNIX socket
Server characterset:   utf8
Db     characterset:   utf8
Client characterset:   utf8
Conn.  characterset:   utf8
--
TyroneYeh

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: MySQL Win 版跟 Linux 版的欄位長度
« 回覆 #1 於: 2009-08-27 12:11 »
後來發現不是中文問題,是 Linux 版 insert 超長的部分會自動裁掉
Win 版不會!!
--
TyroneYeh

Darkhero

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3728
  • 性別: 男
    • 檢視個人資料
    • ㄚ凱隨手紀
回覆: MySQL Win 版跟 Linux 版的欄位長度
« 回覆 #2 於: 2009-08-28 18:27 »
檢查看看 mysql 的設定參數?..

會不會是設定上得差異?...
希望我們的討論是為了把問題解決,而不是爭論誰對誰錯.
『灌水才是重點,發文只是順便』
『我寧可讓不會釣魚的工程師餓死,也不想讓會餓死的工程師去攪沉公司....』
Blog: http://blog.darkhero.net/
秘密基地: http://www.darkhero.net/comic/
目前服務的網站: http://www.libook.com.tw/

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: MySQL Win 版跟 Linux 版的欄位長度
« 回覆 #3 於: 2009-08-29 00:11 »
沒有特別改變什麼啊!就安裝好的設定耶
--
TyroneYeh

micmic3

  • 俺是博士!
  • *****
  • 文章數: 1692
    • 檢視個人資料
回覆: MySQL Win 版跟 Linux 版的欄位長度
« 回覆 #4 於: 2009-08-29 00:51 »
有一個參數在insert 或update 是 會檢查格式和長度
http://twpug.net/docs/mysql-5.1/precision-math.html
http://twpug.net/docs/mysql-5.1/database-administration.html#server-sql-mode
也可以和 set names= utf8 一樣在一開始執行query 時先執行
當資料與欄位不合時 error
    SET sql_mode=STRICT_ALL_TABLES;
« 上次編輯: 2009-08-29 00:57 由 micmic3 »