2013-02-04 29 views
0

我知道這個問題已經回答過,但我很抱歉我不是一個編碼器,所以我不知道在哪裏。插入表名到另一個表的列

我有一個100 +測驗的列表,所有這些都在單獨的表(ID,問題,答案)。現在,我想要做的就是將所有表的名稱插入到名爲「測驗」的表的列(測驗名)中,這是所有測驗的主索引。

接下來,我還想從每個表格插入問題和答案到包含所有問題和答案(結構:id,quizid,問題,答案)的主表中。

我想開發一個測驗網站,但我必須自己做所有事情。這是一個漫長的故事。如果我能從Stack Overflow社區獲得一些幫助,那就太好了。

我知道我是一個noobie,所以會有經驗豐富的編碼員出現snark,scold等等,但我只需要完成這件事!

感謝

+2

任何代碼將是有益的,但看起來像你需要使用JOIN在MySQL中從2個表加入類似的特性 –

回答

1

您可以使用命令

SHOW TABLES; 

或者獲取當前數據庫中的表名的列表,你可以查詢information_schema表,例如:

SELECT table_name FROM information_schema WHERE table_schema = 'your-database-name'; 

要使用表名創建表,請使用類似下面的查詢:

CREATE TABLE quiz AS SELECT table_name AS quizname FROM information_schema.tables WHERE table_schema = 'test'; 

然而,有趣的是,這將包括新創建的表「問答」 ......

我不能想辦法做純粹的MySQL中的最後一部分,你將不得不寫一個PHP腳本讀取quiz表,然後進行這樣的大量的查詢:

INSERT INTO master_table(quizid, question, answer) SELECT 'quiz1', question, answer FROM quiz1 
INSERT INTO master_table(quizid, question, answer) SELECT 'quiz2', question, answer FROM quiz2 
... 
+0

非常感謝,雅各布。我會試試看。讓我們來看看! – user1589406

+0

我嘗試使用「創建表測驗...」,但表名沒有被插入到新表中。 – user1589406