2011-07-08 26 views
0

好的,這裏有東西。複製相關的MySQL表。我有一張桌子,有相關的桌子,我想有一個功能來複制這個地段

我有一個MySQL數據庫,並在它有這些表

Cruises 
Fares 
Itinerary 
Supplements 

在該網站的管理面板,我增加了功能複製整個巡航,以及相關的票價,行程安排,和補充數據

所以第一表格「遊輪」具有主鍵(ID)而這拾起在每個其他表爲「cruise_id」

EG的

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的語法很明顯)我想這樣做

選擇一切從表遊船,票價,行程安排,補充

凡克魯斯(ID)等於所選擇的巡航(鏈路上傳遞的URL參數)

和票價,行程,補充劑(cruise_id)等於所選擇的巡航(鏈路上傳遞的URL參數)

採取數據並插入巡航字段插入巡航票價,行程成行程和補充到補充

我知道我想做什麼,問題是我可以,怎麼樣?

回答

0

我認爲你可以使用INSERT SELECT插入到fares,itinerarysupplements。例如:

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。

希望這會有所幫助。

相關問題