如何使用現有MySQL表格中的信息填充新表格。我有三個表每一個有鑰匙,我想在新表中,包括像這樣:MySQL - 使用三個現有表中的鍵創建新表格
TRANSACTIONS TABLE
tr_id INT NOT NULL AUTO_INCREMENT
other columns
.
.
PEOPLE TABLE
p_id INT NOT NULL AUTO_INCREMENT
tr_id INT
other columns
.
.
HOLIDAYS TABLE
h_id INT NOT NULL AUTO_INCREMENT
tr_id INT
other columns
.
.
TRACKING TABLE
track_id INT NOT NULL AUTO_INCREMENT
tr_id
p_id
h_id
other columns
.
.
我甚至不知道,我需要在新表中的p_id和h_id列,因爲我只需要能夠從跟蹤表中獲取單個tr_id的所有行,但它們可能會有用,所以我可能會將它們留在那裏。 (我確實需要他們在新表格中創建行,因爲一個事務可以涉及到多個度假目的地的多個人,並且跟蹤表中的每一行都與單個人的單個目的地相關,因此每個人需要2個人相同的2個度假目的地,會出現在跟蹤表4行)
我曾嘗試:
INSERT INTO tracking (tr_id, p_id, h_id) VALUES
(SELECT t.tr_id, p.p_id, h.h_id
FROM transactions t
JOIN people p
JOIN holidays h
WHERE t.tr_id = p.tr_id
AND t.tr_id = h.tr_id);
但是這是給我的錯誤。
感謝您對此的任何建議。非常感謝。
你正在得到什麼錯誤?跟蹤表上的主鍵是什麼? –
mysql給你什麼錯誤?它通常有一個數字/ error_id。 – ace
錯誤1064(42000):您的SQL語法錯誤;檢查與你的MySQL服務器版本相對應的手冊,在'SELECT t.tr_id,p.p_id,h.h_id – Joe