今天早些時候,我問了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