我有一个包含几个表的数据库:文件和用户。这种关系是多对多的,因此我还有一个名为users_files_ref的表,该表保存上述两个表的外键。
这是每个表的架构:
文件-> file_id,file_name
用户->用户名,用户名
users_files_ref-> user_file_ref_id,user_id,file_id
我正在使用Codeigniter来构建文件宿主应用程序,并且正好在添加使用户能够上传文件的功能的中间。这是我遇到问题的地方。
将文件添加到文件表后,将需要该新文件的ID来更新users_files_ref表。现在,我将记录添加到文件表中,然后我想我可以运行一个查询来获取添加的最后一个文件,以便获取ID,然后使用该ID插入新的users_files_ref记录。
我知道这会在很小的范围内起作用,但是我想有一种更好的方法来管理这些记录,尤其是在交通繁忙的情况下。
我是关系数据库方面的新手,但是已经使用PHP已有一段时间了,所以请在这里忍受:-)
我已经为文件,用户和users_files_ref表正确设置了主键和外键,我只是想知道在这种情况下如何管理文件记录的添加?
感谢您提供的任何帮助,非常感谢。
-韦斯
最佳答案
使用$this->db->insert_id()
获取刚刚插入的行的ID号。此处的更多文档:http://codeigniter.com/user_guide/database/helpers.html
https://stackoverflow.com/questions/2575539/