我在将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."','')");
}
}发布于 2018-03-10 23:44:27
首先,你不应该使用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;我只是在猜测列名是什么。使用任何正确的方法。
https://stackoverflow.com/questions/49210880
复制相似问题