首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何同时在两个表中插入数据?

如何同时在两个表中插入数据?
EN

Stack Overflow用户
提问于 2010-09-30 16:57:50
回答 4查看 4.3K关注 0票数 1

我的系统中有这个问题,我需要将患者登记到系统中,患者reference_number用于在医院进行预约。我得到的问题是,当患者注册到系统时,预约是同时进行的,我需要更新两个表,患者表和预约表,我必须从患者表中获取reference_number并将其输入预约table.reference号必须从数据库中获取,并且新的应该比旧的递增一次。伙计们,怎么做呢?我对此感到困惑。:(

我正在开发的系统使用codeigniter,php和mysql

向您致敬,Rangana

EN

回答 4

Stack Overflow用户

发布于 2010-09-30 17:07:48

我认为您可以很容易地通过紧接在一起的两个insert语句来实现,并使用mysql_insert_id来获取前一个查询的id。但是,如果您的表的定义不同,这可能对您不起作用:

代码语言:javascript
复制
mysql_query('INSERT INTO patients [...]');
$patientId = mysql_insert_id();
mysql_query('INSERT INTO reservations [...]');
票数 1
EN

Stack Overflow用户

发布于 2010-09-30 17:10:18

今天早上我有点赶时间,所以如果这不是一个更全面的解释,请原谅我。我也对codeigniter一无所知,所以希望它能支持存储进程。

在MySQL中有一个LAST_INSERT_ID()函数(请参阅http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id)

您应该能够在存储过程中使用第一个表中的标识来更新第二个表。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-09-30 18:01:39

根据模糊的信息,你可以像下面这样做。

代码语言:javascript
复制
$this->db->insert('patients_records_tbl', $data);
$last_id = $this->db->insert_id();
$this->db->insert('other_tbl', array('patient_id' => $last_id));

我希望这能为你含糊地涵盖它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3829141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档