0

我知道这个问题以前已经回答过了,但很抱歉我不是编码员,所以我不知道去哪里了。

我有一个包含 100 多个测验的列表,所有这些测验都在单独的表格中(id、问题、答案)。现在,我想做的是将所有表的名称插入名为“quiz”的表的列(quizname)中,该表是所有测验的主索引。

接下来,我还想将每个表中的问题和答案插入到包含所有问题和答案的主表中(结构:id、quizid、question、answer)。

我正在尝试开发一个测验网站,但我必须自己做所有事情。这是一个很长的故事。如果我能从 Stack Overflow 社区获得一些帮助,那就太好了。

我知道我是个菜鸟,所以会有来自经验丰富的编码员的恶作剧、责骂……等等……但我只需要完成这件事!

谢谢

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

然而,有趣的是,这将包括新创建的表格“测验”......

我想不出纯粹在 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
...
于 2013-02-04T08:29:45.103 回答