将表名插入另一个表的列中

时间:2013-02-04 06:40:44

标签: php mysql

我知道这个问题之前已经得到了解答,但很抱歉我不是编码员,所以我不知道究竟是什么。

我有100多个测验的列表,所有这些测验都在单独的表格中(id,question,answer)。现在,我想要做的是将所有表的名称插入名为“quiz”的表的列(quizname)中,该表是所有测验的主索引。

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

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

我知道我是一个noobie所以会有经验丰富的编码人员嗤之以鼻,骂......等等,但我只需要完成这件事!

由于

1 个答案:

答案 0 :(得分: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中完成最后一部分的方法,你必须编写一个读取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
...