[英]MySQL Insert Records from Multiple Tables to New Table
我正在嘗試使用來自其他2個表的記錄來填充新表。
period_states是new / empty
period_states
id
period_id
sla_id
期間 - 包含15條記錄
periods
id
slas - 包含84條記錄
slas
id
我需要在每個現有的sla_id中填充period_states,每個sla_id都有一個exiting period_id。 所以,最終在period_states中應該有1260條記錄。
知道如何自動化嗎? 手動填充將是一場噩夢......
先感謝您!!
如果將句點狀態的id
列定義為AUTO_INCREMENT
,那么這應該有效:
INSERT INTO period_states (period_id, sla_id)
SELECT p.id AS period_id
, s.id AS sla_id
FROM periods p
CROSS
JOIN slas s
這是一個為id
列提供值的方法的示例:
INSERT INTO period_states (id, period_id, sla_id)
SELECT @myid := @myid + 1 AS id
, p.id AS period_id
, s.id AS sla_id
FROM periods p
CROSS
JOIN slas s
CROSS
JOIN (SELECT @myid := 0) m
INSERT INTO period_states
(period_id, sla_id)
SELECT periods.id, slas.id
FROM periods
CROSS JOIN slas
insert into period_states select null, periods.id, slas.id from periods, slas
查看“插入....選擇” http://dev.mysql.com/doc/refman/5.1/en/insert-select.html語法。 ......幾乎與其他答案所顯示的一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.