0

この質問は以前に回答されていることは知っていますが、申し訳ありませんが、私はコーダーではないため、何がどこにあるのかわかりません。

100 以上のクイズのリストがあり、それらはすべて別のテーブル (ID、質問、回答) にあります。今、私がやりたいことは、すべてのクイズのマスター インデックスのようなものである「quiz」という名前のテーブルの列 (quizname) にすべてのテーブルの名前を挿入することです。

次に、各テーブルからの質問と回答を、すべての質問と回答 (構造: id、quizid、question、answer) を含むマスター テーブルに挿入したいと考えています。

クイズサイトを作ろうとしているのですが、全部自分でやらなければなりません。長い話です。スタック オーバーフロー コミュニティから助けを得ることができれば、それは素晴らしいことです。

私は初心者であることを知っているので、経験豊富なコーダーからスナーク、叱責...などがありますが、これを完了する必要があります!

ありがとう

4

1 に答える 1

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';

しかし、面白いことに、これには新しく作成されたテーブル 'quiz' が含まれます...

最後の部分を純粋に MySQL で行う方法は考えられません。quizテーブルを読み取り、次のような多くのクエリを実行する PHP スクリプトを作成する必要があります。

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
...
于 2013-02-04T08:29:45.103 に答える