[英]how to insert data to two tables at the same time?
我的系統中存在此問題,我需要向系統中注冊患者,患者reference_number用於在醫院預約。 我遇到的問題是當患者同時注冊到系統時,我需要更新兩個表,患者表和保留表,我必須從患者表中獲取reference_number並將其輸入到保留中table.reference編號必須從數據庫中獲取,並且新編號應該比舊編號增加一。 這家伙怎么辦? 我對此感到困惑。 :(
我正在使用codeigniter,php和mysql開發系統
問候,Rangana
我認為您可以輕松地使用兩個接一個的插入語句輕松地做到這一點,並使用mysql_insert_id來獲取上一個查詢的ID。 但是,如果表的定義不同,這可能對您不起作用:
mysql_query('INSERT INTO patients [...]');
$patientId = mysql_insert_id();
mysql_query('INSERT INTO reservations [...]');
今天早上我有點時間緊張,如果這不是更完整的解釋,請原諒我。 我也對codeigniter一無所知,因此希望它確實支持存儲的程序。
在MySQL中,存在LAST_INSERT_ID()函數(請參見http://dev.mysql.com/doc/refman/5.0/zh-CN/information-functions.html#function_last-insert-id )
您應該能夠在存儲過程中使用它,以使用第一個表中的標識更新第二個表。
希望能有所幫助。
繼續獲取含糊不清的信息,您可以按照以下步驟進行操作。
$this->db->insert('patients_records_tbl', $data);
$last_id = $this->db->insert_id();
$this->db->insert('other_tbl', array('patient_id' => $last_id));
我希望為您隱約地涵蓋它。
Thomasmalt,JonRed和James Norman thanx伙計們的幫助
這是代碼
$this->db->insert('patient',$data);
$sql = "SELECT LAST_INSERT_ID()";
$query = mysql_query($sql);
if ($query) {
$row = mysql_fetch_row($query);
$lastID = $row[0];
}
$this->db->insert('visit',$visit_data);
$ data和$ visit_data是包含插入數據的兩個數組,$ visit_data包含$ lastID
希望你們將來也可以使用它:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.