У меня проблема с синтаксическим анализом данных из таблицы1 в таблицу2 синтаксис (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."','')");
}
}






Во-первых, вам не следует использовать 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;
Я просто догадываюсь, каковы названия столбцов. Используйте любые правильные.
при использовании вставки в выбор убедитесь, что номер столбца совпадает. в противном случае произойдет ошибка