[英]Inserting an ID from one table into another when a new record is inserted
我有一份表格,其中包含員工的個人信息。 我更新了表單,並將其插入到名為employee_info
的表中。 它使用詳細信息更新表並插入新ID( employee_id
)。 在我的數據庫中,我有另一個名為department_info
表,相關的字段是department_id
。 這是用於將數據插入數據庫的php標記:
$sql_data_array = array('employee_firstname' => $employee_firstname); //other variables go here
if (ACCOUNT_DOB == 'true') $sql_data_array['driver_dob'] = tep_date_raw($driver_dob);
tep_db_perform(TABLE_EMPLOYEES, $sql_data_array);
$employee_id = tep_db_insert_id();
我需要做的是,當表單更新,並將數據插入employee_info
表時,我需要它為employee_id
插入一個新的id(已經發生),並將department_id
插入employee_info
表。
department_id
用於登錄,我想顯示屬於該部門的員工列表。 誰能告訴我怎么做呢?
當您使用PHP插入時,大多數實現返回所謂的最后一個插入ID。 這是AUTO_INCREMENT列的值。
即使您的實現不支持它,也應該有一個返回它的函數。
編輯:從您的更新,這似乎是osCommerce。 您的代碼的問題是方法tep_db_perform用於插入一個或多個元素。 如果插入2行,會發生什么? 但是在簡單的情況下,使用tep_db_insert_id(),它應該返回最后一個id。
php函數mysqli_insert_id檢索前一個查詢(通常是INSERT)為AUTO_INCREMENT列生成的ID。 獲取此ID並在其他表中使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.