好的就是这件事。
我有一个MySQL数据库,其中有这些表
Cruises
Fares
Itinerary
Supplements
在网站的管理面板中,我正在添加一项功能来复制整个游轮,以及相关的票价,行程和补充数据
所以第一个表'Cruises'有一个主键(ID),并且在其他每个表中都被选为'cruise_id'
E.g。
Cruises
-------
id
destination
departs
returns
nights
Fares
-----
id
cruise_id
fare
offer
active
Itinerary
---------
id
cruise_id
port
type
Supplements
-----------
id
cruise_id
sharing
deposit
因此,当用户在管理面板中时,他们会看到现有游轮的列表以及要复制的链接
当用户点击复制游轮时,我想添加一个新的“游轮”,复制他们选择的游轮数据
现在我可以使用INSERT SELECT。但是,我也想制作票价,行程和补充的副本,这样就可以复制整套数据,以便稍后进行细微的修改。
逻辑上(这显然不是MySQL语法)我想这样做
从邮轮,票价,行程,补充表中选择所有内容
其中Cruise(id)等于所选巡航(在链接上传递的url参数)
票价,行程,补充(cruise_id)等于所选巡航(链接上传递的url参数)
获取该数据并将巡航场插入游轮,票价,行程安排和补充剂补充
我知道我想做什么,问题是我可以,以及如何?
答案 0 :(得分:0)
我认为您可以使用INSERT SELECT插入fares
,itinerary
和supplements
。类似的东西:
INSERT INTO `Fares` (`cruise_id`, `fare`, `offer`, `active`)
SELECT `cruise_id`, `fare`, `offer`, `active`
FROM `Fares`
WHERE `cruise_id` = xx;
INSERT INTO `Itinerary` (`cruise_id`, `port`, `type`)
SELECT `cruise_id`, `port`, `type`
FROM `Itinerary`
WHERE `cruise_id` = xx;
INSERT INTO `Supplements` (`cruise_id`, `sharing`, `deposit`)
SELECT `cruise_id`, `sharing`, `deposit`
FROM `Supplements`
WHERE `cruise_id` = xx;
其中,xx应替换为所选巡航的id。
希望这有帮助。