2012-10-07 46 views
0

我在我的數據庫中發生錯誤,需要大量修正一些數據......但它不會很容易..或者我想!我在SQL語句方面不是太棒了..主要是過去曾經用它們來提取數據,而不是大量地將數據放入。所以我想確保在我弄糟一些事情之前讓我的陳述正確。繼承人我的查詢...獲取更新語句設置正確MySQL基於我的Select語句

SELECT * FROM tickets_messages 
    INNER JOIN tickets ON tickets_messages.ticket_id = tickets.id 
    INNER JOIN people ON tickets_messages.person_id = people.id 
    WHERE tickets.person_id = 201 AND tickets_messages.person_id = 32 

我們有系統中的「門票」,由兩個表People和tickets_messages鏈接。一些消息需要在ID爲32 ..以及一些在ID爲201的情況下,這就是爲什麼我已經執行內部聯接來查找系統認爲屬於201的票...但是實際上在tickets_messages中顯示爲32.

簡而言之,我想將帶有內部聯接的select語句更改爲update語句。任何人有任何建議,因爲我感覺這個領域有點shakey。

P.S.這是我的猜測..是正確的是:

UPDATE tickets_messages SET person_id = 201 
    INNER JOIN tickets ON tickets_messages.ticket_id = tickets.id 
    INNER JOIN people ON tickets_messages.person_id = people.id 
    WHERE tickets.person_id = 201 AND tickets_messages.person_id = 32 

感謝

+0

您可以隨時比較選定的記錄和更新的記錄,並至少看到數量是否相同。但是這必須在事務上下文中進行以避免更新錯誤的數據。 –

回答

0

什麼是你的問題?你只是想讓別人確認UPDATE命令會做你想要的嗎?如果目標是在SELECT查詢找到的所有記錄中將ticket_messages.person_id設置爲201,那麼它對我來說看起來很合適。

+0

嗨,作爲它的一個大更新我申請...和我不是100%的內部連接更新,是的,我希望有人可能會看,看看我的查詢是否顯示正確。 – Will