2016-04-18 116 views
0

不知道這甚至是可能的。我使用multi_query同時將值插入到兩個表中。這工作正常。其中一個表有一個自動增量列,我需要把最後一個自動增加的數字插入到第二個表中,如下所示:插入到表1中,然後從列X中取出最後一個插入的數字,並將其與其他數據一起插入爲表2.我已經使用SELECT LAST和INSERT INTO但到目前爲止,它只是做我的頭打周圍的插入語句如下:。插入值從一張表到另一張,同時做一個雙重插入

$sql= "INSERT INTO tbleClients (riskClientId, riskFacility, riskAudDate)  VALUES ('$riskclient2', '$facility2', '$riskdate2');"; 

$sql .="SELECT  LAST(riskId) FROM tbleClients;";$sql .="INSERT INTO tblRiskRegister (riskId)  SELECT riskId FROM tbleClients ;"; 

$sql .= "INSERT INTO tblRiskRegister  (riskAudDate, riskClientId,  riskSessionId, RiskNewId) VALUES  ('$riskdate2', '$riskclient2', '$sessionid', '$risknewid')"; 

單獨都產生結果,但我需要它發生同時。我的想法是將它們分開製作,但效果不是很好。任何指針將不勝感激。

+1

可能重複[MySQL插入多個表? (數據庫規範化?)](http://stackoverflow.com/questions/5178697/mysql-insert-into-multiple-tables-database-normalization) –

+0

我實際上看着多日查詢問題,它解決了它但我從來沒有注意到最後一個插入ID部分。現在,答案已經一石二鳥。 –

回答

0
$sql= "INSERT INTO tbleClients (riskClientId, riskFacility, riskAudDate)  VALUES ('$riskclient2', '$facility2', '$riskdate2');"; 

執行上述查詢後,使用mysqli_insert_id(),它給你最後一個插入ID。

那麼下面的查詢就沒用了。 $ sql。=「SELECT最後(riskId)FROM tbleClients;」;

$sql .="INSERT INTO tblRiskRegister (riskId)  SELECT riskId FROM tbleClients ;"; 

您可以在上面的查詢中插入last_insert_id。

無法在查詢下面找到以上&之間的關係。

$sql .= "INSERT INTO tblRiskRegister  (riskAudDate, riskClientId,  riskSessionId, RiskNewId) VALUES  ('$riskdate2', '$riskclient2', '$sessionid', '$risknewid')"; 
+0

這就是我最終做的。謝謝。 –

相關問題