我有點生疏與MySQL,並試圖再次跳入..所以對不起,如果這太容易的問題。將數據添加到相關的表..更方便嗎?
我基本上創建了一個有一個被稱爲「大師」的名稱和一個IDCODE和再出「細節」 IDCODE的外鍵表的必填字段表的數據模型。
現在,這裏的地方得到它我tricky..I進入:
INSERT INTO Details (Name, UpdateDate) Values (name, updateDate)
我得到一個錯誤:話說細節IDCODE沒有默認value..so我加一則抱怨說,現場「Master_IDcode」沒有默認值
這一切都有道理,但我不知道是否有任何簡單的方法做我想做的事情。我想添加數據到細節,如果沒有IDcode存在,我想添加一個條目到主表中。問題是我必須先將名稱添加到基金Master..wait中,以生成唯一的ID(對於IDcode),然後在輸入主數據時將其解釋並添加到我的查詢中。正如你可以想象的那樣,由於我有很多表格,查詢可能會很長。
有沒有更簡單的方法?每當我添加一些按名稱搜索的內容時,如果外鍵存在,如果不存在,它會將其添加到鏈接的所有表上?人們有這樣的標準方式嗎?我無法想象所有複雜的數據庫在那裏人們還沒有找到更簡單的方法。
很抱歉,如果這個問題沒有意義。如果需要,我可以添加更多信息。
p.s.這可能是一個不同的問題,但我聽說過python的Django,它有助於創建查詢......它會幫助我的情況嗎?
在此先感謝:-)
如果主記錄不存在,你爲什麼要插入子記錄?我很難想象這種情況何時出現在GUI中。喜歡,加一個朋友,突然發現你自己不存在?將產品添加到類別並發現您從下拉列表中選擇的類別不存在?增加一名員工到你的公司,你發現你忘了找到一家公司? – Ronnis 2011-03-22 21:36:22
嗨Ronnis,這不是用在一個GUI ..實際上我填充一個數據庫。我得到一個公司的詳細清單,並將其導入幾張不同的表格。爲了把所有東西都放在一起,我決定創建一個只有名稱和ID代碼的主表(這是大多數其他表的外鍵)。所以在這張表中,當我意識到一個主記錄不存在時,我將在細節表中添加一條記錄,我希望它能創建一條記錄。我想我需要在主數據庫中搜索一個ID,如果沒有,那麼生成它,然後根據添加的詳細信息行。 – Lostsoul 2011-03-22 23:00:12
如果您有文件中的數據,則可以先將數據加載到中間表中(使用加載數據infile)。然後在表格上傳一遍,然後「插入到不存在的主表中」。然後您知道所有masterID都存在,並且您可以繼續執行「insert into detailX select ... from that_temp_table」。 – Ronnis 2011-03-22 23:08:20