今天早些时候,我问了this question哪些产生于A-我的不良计划和B-我完全无视正常化数据库的做法。我花了最近8个小时阅读关于正常化数据库和JOIN的更精细的点,并通过SQLZoo.com教程工作。如何获取我刚刚插入的文件的主键ID?
我开悟了。我理解数据库规范化的目的以及它如何适合我。除了我不完全确定如何从程序角度来执行这个愿景。
这是我的旧愿景:一个名为“文件”的表格,让我们说一个文件ID和一个文件url以及该文件的appropos等级。
新视野!:1个表格用于“文件”,1个表格用于“成绩”,以及一个中介表格。
但这不是我的问题。这是一个非常基本的问题,我肯定有一个明显的答案 - 当我在“文件”中创建一条记录时,它会自动分配递增的主键(file_id)。但是,从现在开始,我需要将该file_id写入其他表中。因为我没有手动分配该ID,所以我怎么知道它是什么?
如果我上传text.doc并获得file_id 123,我怎么知道它得到了123才能将它写入“等级”和联结表?我不能做一个max(file_id),因为如果你有并发用户,你可能会获得一个不同的ID。我只是不知道如何获得file_id值而没有手动分配它。
实际文件表包含大量有关该文件的数据 - 上传它的用户,该文件的唯一S3 URL等 这里的愿景是,其他用户根据一组浏览这些文件的搜索标准。我可以将文件的id发布到显示脚本并从那里翻录。 – GilloD 2010-02-19 02:24:53