我为一家餐厅创建了一个表,其中我在数据库中保存了带有“代码”(基本上是菜肴名称)、“ table ”和价格的订单,“ table ”是主键。但现在我正在努力解决如何为同一个“表”添加新订单。假设客户决定订购甜点或饮料,我如何将值“代码”和“价格”放入表中而不重写以前的值?
最佳答案
给你一些想法:
您使用术语table
来指代正在订购商品的人员的表。因为这可能会让我的回答感到困惑,所以让我们使用术语“客户”来指代满是正在下订单的客户的表。
首先,您必须决定如何构建数据库和表。
一个想法是拥有两个 SQL 表:(a) 菜肴表(主菜、甜点、饮料等)及其价格,(b) 交易表。 (每点菜品都是一次交易,因此每个顾客都会有多次交易)
每笔交易(一行)将包括:
a. transactionIndex - 顺序 - 自动增量 - UNIQUE(主键)
b. transactionID - 发票号 - 可能只是 YYYYMMDD_HHMMSS
c. table_num - 整数(标识下订单的客户)
d.菜 - 点的菜
打印发票时,您可以在 Tn 表中搜索与 transactionID #123 相关的所有项目。使添加新订单变得非常容易。
如果需要,您还可以拥有一个 session SQL 表,它可以引用单个就餐 session 中涉及的所有事务。本质上,这将是每张已完成发票的记录。您可能有如下字段:
a. SessionIdx - 唯一索引、自增、主键
b. SessionID - 发票编号 - 将是交易表中的 transaction_num
c.日期/时间
d.客户数量
e.付款方式
另请注意,您需要将其设为关系数据库,这只是意味着不要将菜品名称和菜品价格写在交易表中各自的字段中> - 您只需输入dish_id(来自您的SQL 菜肴表)。然后,将轮询菜肴表以获取菜肴名称和菜肴价格。使更新内容变得容易。 但是,您可能还希望存储历史价格,以便在价格更新时不会丢失历史价格数据。
关于php - 在同一行插入更多值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54873259/