我的代码的最后一行有问题:
if(isset($_POST['kolona']))
{
foreach($_POST['kolona'] as $vrednost)
mysql_query("ALTER TABLE tablica ADD $vrednost text NOT NULL");
mysql_query("INSERT INTO tablica ( ".(implode(',',($_POST['kolona']))).") SELECT ".(implode(',',($_POST['kolona'])))." FROM druga");
}
第一个查询是在表'tablica'中创建列,第二个查询假设从列中的所有表中的列中插入值,现在它只是硬编码,它只来自表'druga',但我不喜欢不知道如何通过所有表格,而不仅仅是'druga'。我尝试了一个循环,也尝试了内爆函数,但似乎没有任何工作。有人可以帮忙吗?
答案 0 :(得分:0)
您可以使用ON DUPLICATE KEY
功能解决此类合并问题:
INSERT INTO target (id, column1, column2)
SELECT id, column1, column2 FROM source
ON DUPLICATE KEY UPDATE column1=VALUES(column1), column2=VALUES(column2)
只要您的PRIMARY KEY
列没有源表和目标表之间的冲突,它就可以正常运行。