关于Mysql插入语句的基本查询

时间:2013-04-20 05:06:21

标签: mysql insert

我在表格中有N条记录,我想从一张表中移动所有记录,其他表示旧表格为table1,新记录为table2。我有一个查询子查询以选择表中的记录用于插入。 假设为10000条记录当插入6000条记录时,它会得到一些异常,它结束了,但table2仍然是空的,这里我想知道这是5999条记录,它将被插入到数据库?

提前致谢,

如果它不值得回答或任何原因让我知道投票的原因我可以改进它

1 个答案:

答案 0 :(得分:1)

  

我有一个带有子查询的查询,用于从表中选择要插入的记录

我假设您正在运行一些INESRT INTO table2(<COLUMN LIST>) SELECT <COLUMN LIST> FROM table1 WHERE ...来移动记录。

如果是这样,INSERT语句作为事务的一部分运行,并且只有在语句成功执行时才会提交,即如果它能够INSERT SELECT返回的所有记录INSERT查询。否则,事务将被回滚,并且不会插入任何记录。

  

在这里,我想知道这是将它插入数据库的5999条记录吗?

在执行{{1}}语句时,这些记录将被插入到tmp位置的工作表中。如果一切顺利的话,它本可以致力于主表。