作者roga (凝视)
看板Database
标题Re: [SQL ] 存取多个资料表
时间Sat Dec 20 00:21:47 2008
※ 引述《luxuryEX (戴汶)》之铭言:
: 我是使用MYSQL +PHP
: 我现在在做一个图书馆的系统
: 为了稳定性的问题
阿..那你储存引擎选 innodb 就好了虽然 xtradb 出了
稳定性喔..烂掉就把 binary log 叫回来倒.. XD
: 我在DB里面按月份建了12个资料表
: 这12个资料表长得一模一样
: 存资料的时候就会按建立该笔资料的月份存进对应的资料表里面
我们公司有客户也做过同样的事情,不过他是一个人开一个资料库,
开了十几个,之後维护案要调整 scheme 真不是人干的
还有比你更凶猛的 ^^
: 但问题来了,要如何存取多个资料表呢?
: 譬如我要从12个资料表里面搜寻类似的书
: 以下是我写的SQL语法:
: $sql = "SELECT title,author,publisher,isbn
: FROM 01jan, 02feb, 03mar, 04apr, 05may, 06jun, 07jul, 08aug,
: 09sep, 10oct, 11nov, 12dec
小建议,前面用数字开头实在不是很好的 style。
: WHERE title like '%".$TITLE."%
: ORDER BY `datetime` DESC";
第一种解法 UNION, UNIOL ALL
第二种解法 你在不同的资料表选择栏位名称相同的栏位,要栏位前加上资料表名称
你要开发图书馆系统,系统分析一定要先做好,关联性资料表 FK, PK、
正规化的意义先搞清楚,要不然最後可能是做白功喔!
也有可能系统越来越做不下去喔 ^^
: 出现的错误讯息是:
: Column 'title' in field list is ambiguous
: 请问我该怎麽改语法呢?
: 先谢谢各位前辈!
我这样算在赚 P 币吗?
--
凝视着,却看不见光景。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.223.207
※ 编辑: roga 来自: 220.130.223.207 (12/20 00:29)
1F:推 PsMonkey:这是很好的 P 币来源... (y) 12/20 02:40
2F:→ roga:XDDD 12/20 14:04