从第二个表中的列创建mysql查询

时间:2011-09-13 02:39:23

标签: php mysql

我有一段代码应该从一个表中获取不是成分的食品名称,然后生成一个查询来创建另一个表,其中的列匹配那些不生成表的项的名称:

function create_table(){
$query = "SELECT * FROM food";
$tablequery = "CREATE TABLE (id int(6) NOT NULL auto_increment,";
if($result=mysql_query($query)){
    while($row = mysql_fetch_array($result)){
        if($result['ingredient'] != 1){
            $tablequery = $tablequery.$result['name']."varchar(30) NOT NULL,";
        }
    }
    $tablequery = $tablequery."PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))";
}
mysql_query($tablequery);

}

我确实调用了这个函数,这不是问题所以它只运行了一次但只有id。

2 个答案:

答案 0 :(得分:1)

试试这个:

while($row = mysql_fetch_assoc($result)){
    if($row['ingredient'] != 1){
        $tablequery = $tablequery.$row['name']."varchar(30) NOT NULL,";
    }
}

答案 1 :(得分:0)

我认为您需要在代码中添加一行以删除表格(如果已存在):

 DROP TABLE IF EXISTS `<your table>`;