所以,我在向表 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
答案 0 :(得分:0)
您正在进行仅提供一列的插入:
INSERT INTO tablica ($vrednost) SELECT $vrednost FROM prva
这将强制其他没有默认值或自动增量的列为空。
不是在循环的每次迭代中进行插入,而是应该在foreach迭代中获得不同的$ vrednost,并在循环之后执行类似的查询:
INSERT INTO tablica (vrednost1,vrednost2,...) SELECT vrednost1,vrednost2,... FROM prva