我在将table1中的数据解析为table2时遇到问题 语法(INSERT INTO table2 SELECT * FROM table1)不会工作,我不知道为什么,所以我想出了这个,但仍然无法工作。那么我的代码/查询人员有什么不对?
$result = mysql_query("SELECT * FROM tempsale")or die(mysql_error());
while($p=mysql_fetch_array($result)){
if(!empty($p)) {
$res = mysql_query("SELECT * FROM tempsale")or die(mysql_error());
while($row=mysql_fetch_array($res)){
$prcode = $row[1];
$pname = $row[2];
$cname = $row[3];
$pprice = $row[4];
$pquan = $row[5];
$stotal = $row[6];
$sdate = $row[7];
}
mysql_query("INSERT INTO sales Values('','".$prcode."', '".$pname."', '".$cname."', '".$pprice."','".$pquan."', '".$stotal."', '".$sdate."','')");
}
}
答案 0 :(得分:0)
首先,你不应该使用mysql_。它已被弃用。学习mysqli_或其他从应用程序访问数据库的方法。
其次,这种结构应该有效:
INSERT INTO table2
SELECT * FROM table1;
为什么不起作用?可能是因为您没有明确地输入列名。所以尝试这样的事情:
INSERT INTO sales (prcode, pname, cname, pprice, pquan, stotal, sdate)
SELECT prcode, pname, cname, pprice, pquan, stotal, sdate
FROM temp_sales;
我只是猜测列名是什么。使用正确的。