簡體   English   中英

我需要通過單個查詢將值插入兩個不同的表中

[英]i need to insert values into two different table with single query

如何連接這兩個查詢並將它們作為單個查詢執行以在兩個表中插入值:

$sql = mysql_real_escape_string('INSERT INTO admin_export(datetime, product_name, item_code,quantity,subject,export_no) VALUES').implode(',', $row_data);
$sql2 = "insert into `itflower_exportno` (admin_exportno) values('$exportno1')";

您需要使用分號將兩個INSERT語句分隔到單個變量中。

從PHP 5.5.0開始不推薦使用(mysql_ *)擴展名,以后將刪除該擴展名。 相反,應使用MySQLi或PDO_MySQL擴展。 改用PreparedStatements更好地抵御SQL注入攻擊!

但是,您可以使用事務作為以下示例。

BEGIN;
INSERT INTO users (username, password)
  VALUES('test', 'test');
INSERT INTO profiles (userid, bio, homepage) 
  VALUES(LAST_INSERT_ID(),'Hello world!', 'http://www.stackoverflow.com');
COMMIT;

代碼中有兩個不同的插入物。 MySQL不允許在同一查詢中運行多個插入操作,因此您必須先執行一個,然后再執行另一個。

但是,您只能在一個查詢中在同一表中插入多行,基本上,您一次只能在一個表中進行所有插入操作。

你做不到 如果您因為擔心數據的完整性而想要這樣做,請使用transaction 其次,使用合適的事務隔離級別 ,以確保正確讀取數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM