插入新记录时,将一个表中的ID插入另一个表中

时间:2013-02-27 15:16:00

标签: php mysql insert

我有一份表格,其中包含员工的个人信息。我更新了表单,并将其插入到名为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用于登录,我想显示属于该部门的员工列表。谁能告诉我怎么做呢?

2 个答案:

答案 0 :(得分:2)

当您使用PHP插入时,大多数实现都会返回所谓的最后一个插入ID。这是AUTO_INCREMENT列的值。

即使你的实现不支持它,也应该有一个返回它的函数。

修改 从您的更新,这似乎是osCommerce。您的代码的问题是方法tep_db_perform用于插入一个或多个元素。如果插入2行,会发生什么?但是在简单的情况下,使用tep_db_insert_id(),它应该返回最后一个id。

答案 1 :(得分:0)

php函数mysqli_insert_id检索前一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。获取此ID并在其他表中使用它。