mysql
  • vb.net
  • 2014-04-25 12 views 1 likes 
    1

    是否有可能從多個表中刪除id(如果在任何一個表中可用)? 像 -如果在任何一個表格中可用,是否可以刪除多標記中的標識?

    "DELETE from EXCEL_ENTRY WHERE ID = '" & id & "' " _  
         & "union DELETE from DRAWING WHERE ID = '" & id & "' " _  
         & "union DELETE from DESIGN WHERE ID = '" & id & "' " _  
         & "union DELETE from ESTIMATE WHERE ID = '" & id & "'" 
    

    在此先感謝...

    什麼表類型是您使用
    +0

    爲什麼你需要工會? – Sadikhasan

    +0

    我的身份證是在一個表中,我已經顯示所有的價值使用聯盟...但如何刪除..我不知道..所以PLZ的幫助? – Devraj

    +0

    任何人都有sql查詢比幫助我? – Devraj

    回答

    0

    ?如果InnoDB然後正確的做法是將外鍵在DRAWING,DESIGNESTIMATE表中引用EXCEL_ENTRY。如果從EXCEL_ENTRY刪除條目,則使用ON DELETE CASCADE會自動從這些表中刪除匹配的行。

    舉例來說,使用下面的外鍵引用到DRAWING

    ALTER TABLE DRAWING 
    ADD FOREIGN KEY (id) REFERENCES EXCEL_ENTRY (id) ON DELETE CASCADE; 
    

    更新:

    如果您EXCEL_ENTRY表沒有ID索引,那麼你需要添加第一個:

    ALTER TABLE EXCEL_ENTRY ADD INDEX (id); 
    
    +0

    我使用innoDB – Devraj

    +0

    這段代碼不工作......它顯示了你的sql語法中的味精 - 錯誤。 – Devraj

    +0

    不適用於我... – Devraj

    1

    您可以在相同的基礎上使用聯合查詢ID是涉及您的表

    DELETE 
        ee.*, 
        dr.*, 
        de.*, 
        e.* 
    FROM 
        EXCEL_ENTRY ee 
        INNER JOIN DRAWING dr 
        ON (ee.id = dr.id) 
        INNER JOIN DESIGN de 
        ON (ee.id = de.id) 
        INNER JOIN ESTIMATE e 
        ON (ee.id = e.id) 
    WHERE ee.ID = 'your_id' 
    

    但更好的方法是做這個定義具有級聯刪除選項外鍵關係,注意你應該嘗試上述對您的樣本數據中刪除查詢先不要直接在您的生產數據庫中使用

    +0

    我有一個多個表的列id,名稱,聯繫人,但id值是不匹配與其他表....如果id = 1是可以在一個表格中比在表格的其餘部分有沒有值爲1的ID ... – Devraj

    相關問題