2013-02-22 54 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结尾。

相关问题