2013-02-22 52 views
0

我是MySQL新手。我想執行這些操作:如何進行數據庫更新,創建原子,並在更新不完整的情況下回滾?

  1. 將一條記錄插入表中。
  2. 如果上述INSERT成功,則創建一個表。

如何確保這兩件事發生,就好像它們是單個DB語句一樣。我的意思是,我不希望INSERT發生,然後由於任何原因(例如斷電,Internet連接問題等)而不創建CREATE。

如果CREATE不完整,我希望INSERT命令被滾動背部。

謝謝。

+0

如果您是MySQL的新手,您可以從學習常用的使用模式開始。這不是其中的一個。 :)爲什麼你想這樣做古怪呢? – 2013-02-22 03:04:05

+0

這有點奇怪,因爲創建表格(如果它們不是TEMP)應該是非常罕見的,但是您可以使用事務來做到這一點。儘管如此,我不確定交易如何與「CREATE」協同工作 – 2013-02-22 03:05:13

回答

0

您需要將INSERT和CREATE命令打包到以START TRANSACTION開頭的事務塊中,並且如果兩個命令都成功,則以COMMIT結束,如果其中一個命令失敗,則以COMMIT結尾。

相關問題