作者myCrystal (哈哈)
看板Database
標題[SQL ] SQL語法
時間Sun Jan 20 17:10:38 2008
DBMS MYSQL 5
-----------------------
relation bookstores (先說 我是用load data infile 來load records)
+----+----------+------+---------+
| no | name | rank | city |
+----+----------+------+---------+
| 1 | 巨蟹書局 | 20 | 台北市
| 2 | 射手書局 | 10 | 高雄市
| 3 | 水瓶書局 | 30 | 新竹市
| 4 | 天秤書局 | 20 | 台中市
| 5 | 獅子書局 | 30 | 台南市 |
+----+----------+------+---------+
no : 1 2 3 4 那邊 似乎出錯了 ( 左邊'|'右移,右邊'|'不見了)
我覺得是這個原因 造成後續很多 select都錯誤.
ex1. select * from bookstores where city like '台%市';
結果
+----+----------+------+--------+
| no | name | rank | city |
+----+----------+------+--------+
| 5 | 獅子書局 | 30 | 台南市 |
+----+----------+------+--------+
錯誤 ~ 台北市 台中市都不見了. (恰巧和上面錯誤的tuple 是同row)
試過 '台%' 和'台%市%' 都是正確的.
所以感覺 真的是後面還有某個以上的"char" .造成錯誤select產生
但是還是不曉得怎麼處理.
試過 select * from bookstores where city like '台%市' into outifle 'd://xx.txt';
一樣錯誤
試過 select * from bookstores into outifle ~;
是原本的的資料沒錯
目前我找到可能問題是在 load data infile 這邊產生的
truncate table bookstores;
然後用insert 插入同樣五筆資料
執行select * from bookstores where city like '台%市';
同樣command 得到不同答案, 這次答案是正確的.
但是奇怪的是, 下面這個正確的relation 卻同樣是load data infile 建立的
ex2. 做join就更誇張了~
不過我想先解決上面那個問題ex1, 應該就可以解決了
附上 正常的table
+----+----+----------+
| no | id | quantity |
+----+----+----------+
| 1 | 1 | 30 |
| 1 | 2 | 20 |
| 1 | 3 | 40 |
| 1 | 4 | 20 |
| 1 | 5 | 10 |
| 1 | 6 | 10 |
| 2 | 1 | 30 |
| 2 | 2 | 40 |
| 3 | 2 | 20 |
| 4 | 2 | 20 |
| 4 | 4 | 30 |
| 4 | 5 | 40 |
+----+----+----------+
我檢查過load data時候的data 格式.
還是不曉得是什麼原因造成的.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.14.147
1F:推 JoeHorn:你作 JOIN 用的另外一個表裝啥? SQL 語法? 01/20 19:15
※ 編輯: myCrystal 來自: 218.164.14.147 (01/20 19:29)
2F:推 LPH66:你看要不要試著把整個表匯出看看 01/20 21:36
3F:推 starjou:看看 台%市% 的結果 01/20 22:58
※ 編輯: myCrystal 來自: 218.164.6.179 (01/21 07:46)
※ 編輯: myCrystal 來自: 218.164.6.179 (01/21 07:53)
※ 編輯: myCrystal 來自: 218.164.6.179 (01/21 07:57)
※ 編輯: myCrystal 來自: 218.164.6.179 (01/21 08:36)
4F:推 starjou:後面有多餘的空白沒有 trim 掉? 01/21 11:50
5F:→ myCrystal:有 01/21 14:54