作者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