我对代码的最后一行有问题:
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”,但我不这样做不知道如何浏览所有表格,而不仅仅是“药物”。我尝试使用循环和内爆功能,但似乎没有任何效果。有人可以帮忙吗?
最佳答案
您可以使用 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
列并且源表和目标表之间没有冲突,它就可以很好地工作。
关于php - 如何将数据库中所有表中的值插入到一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19280854/