在mysql中为表的每一行存储多个日期?

时间:2012-07-16 09:41:32

标签: mysql database

我正在建立一个在线预订卡车的网站。我正在使用MySql作为数据库。我有一个叫做“Available_Bookings”的桌子,每排都有一辆卡车,它的司机名称,司机联系电话等。卡车有一些固定的日期可以操作。这些日期可以是1,2或任意数量。有了卡车,我需要知道它运作的日期。

任何建议..如何设计我的数据库?

谢谢

2 个答案:

答案 0 :(得分:5)

创建一个包含两列的表,一列用于存储truck_id和date_operational。对于特定卡车运行的每个日期,请在此表中插入一个条目。

EG。

truck_id  |  date_operational  
----------------------------  
     1    |  12-07-2012  
     1    |  17-07-2012  
     2    |  13-07-2012
     3    |  12-07-2012  
     3    |  17-07-2012  

更新 -

Given a truck I need to know the dates on which it operates.

为此您可以使用简单查询 -

SELECT date_operational FROM <tablename> WHERE truck_id = <desired_truck>;

答案 1 :(得分:0)

将卡车和驾驶员信息分成另一张表,主键为卡车/驾驶员ID,然后在Available_Bookings中存储多个带ID的行,每次都有另一个日期。

如果同一辆卡车可以有多个驱动程序 - 也可以将它们分开,并在Available_Bookings中使用truck_id,driver_id对

然后,您可以通过truck_id查询Available_Bookings并获取可用日期列表