mysql-添加列的问题

时间:2013-10-04 22:37:30

标签: php mysql sql alter two-columns

所以,我在向表 tablica 添加列时遇到问题,tablica只有id列和trough循环我正在使用ALTER查询添加列名,然后我在表 prva中添加值使用查询INSERT,这是我的代码:

    if(isset($_POST['submit']))
    {
        mysql_query("CREATE TABLE tablica (id INT PRIMARY KEY AUTO_INCREMENT)");

        if(isset($_POST['kolona']))
            {
                foreach($_POST['kolona'] as $vrednost)
                  {  

                mysql_query("ALTER TABLE tablica ADD $vrednost text");

                mysql_query("INSERT INTO tablica ($vrednost) SELECT $vrednost FROM prva");}

            }
    }

我有问题以什么方式添加列,第一列是好的,然后第二列从第一列结束开始,所以我的输出是这样的:

id   column1  column2
1     a1       NULL
2     a2       NULL
5     NULL     b1
6     NULL     b2

它必须是:

id  column1   column2
1    a1        b1
2    a2        b2

所以我需要把column2放在那里,而且我认为id也会被排序。有人可以帮忙吗? TNX

1 个答案:

答案 0 :(得分:0)

您正在进行仅提供一列的插入:

INSERT INTO tablica ($vrednost) SELECT $vrednost FROM prva

这将强制其他没有默认值或自动增量的列为空。

不是在循环的每次迭代中进行插入,而是应该在foreach迭代中获得不同的$ vrednost,并在循环之后执行类似的查询:

INSERT INTO tablica (vrednost1,vrednost2,...) SELECT vrednost1,vrednost2,... FROM prva