根据另一个表

时间:2016-04-02 06:37:09

标签: mysql sql

我陷入了一种情况,我必须根据另一个表中的另一个特定值在sql表中插入id。

例如: 我有一张表说明了 invoice_number 列的预订,另一张表说 invoice_hotels ,列 invoice_id

我正在尝试根据 bookings 表的 invoice_number 列中的数据在 invoice_hotels 中插入 invoice_id 。< / p>

我想实现以下功能也使用MySQL squery而不是PHP

  • 如果预订表的 invoice_number 列中的最后一个值为9000 然后我想在 invoice_hotels invoice_id 列中插入9001

我知道这可以通过PHP脚本轻松完成,但我只是尝试使用sql。

我已提及thisthis,但我们并不了解如何使用它。

1 个答案:

答案 0 :(得分:2)

您可以尝试此查询:

这里我们为invoice_number设置最大ID,然后在选择查询的帮助下增加+1,之后你可以借助插入查询将这个值插入到另一个表中。

INSERT INTO table_name ( field1, field2,...fieldN )                       
 VALUES((SELECT IFNULL(MAX(invoice_number)+1, 1) from bookings), value2,...valueN);

IFNULL(MAX,1)意味着如果id为null,则默认为id = 1

注意:我不确定表名和列名,因此您可以根据自己的要求进行调整。