2016-03-26 85 views
1

我有一个名为股票销售MySQL表具有3列,我想用一个语句插入数据。使单个插入语句

"INSERT INTO stock_sales (size) SELECT size FROM stock_avail WHERE id='5957'; 
"INSERT INTO stock_sales (transactionid, date) VALUES ('$bill','$date')"; 

回答

1

尝试:

INSERT INTO stock_sales (size, transactionid, date) 
    SELECT size, '$bill', '$date' 
    FROM stock_avail 
    WHERE id='5957' 

INSERT INTO stock_sales (transactionid, date, size) 
    VALUES ('$bill', '$date', (SELECT size FROM stock_avail WHERE id='5957')) 
+0

谢谢。它的工作:-) – user3716007

+0

问题是,我不清楚。我想到了多重查询。但是,这个很好。 ':)' –

+0

我想重定向到自动add_sales.php页面后成功插入数据。这里是我的声明: $ sql =“INSERT INTO stock_sales(transactionid,date,size) VALUES('$ bill','$ date',(SELECT size,FROM stock_avail WHERE id ='5957'))”; 如果(mysqli_query($链路,$ SQL)){ 回声 “Back to Sales”; – user3716007

2
$sqlQuery = "INSERT INTO stock_sales (size) SELECT size FROM stock_avail WHERE id='5957';"; 
$sqlQuery. = "INSERT INTO stock_sales (transactionid, date) VALUES ('$bill','$date')"; 

mysqli_multi_query($con,$sqlQuery); 

mysqli_multi_query()函数执行对 数据库中的一个或多个查询。查询以分号分隔。

欲了解更多信息,请点击Mysqli_Multi_Query - W3 Schools

+0

第二个说法是不工作: – user3716007

+0

什么错误你得到@ user3716007? ? –

+0

您的代码会插入两个新行。那是你要的吗?或者你想只将它插入一个新行? –