我在表格中有N条记录,我想从一张表中移动所有记录,其他表示旧表格为table1
,新记录为table2
。我有一个查询子查询以选择表中的记录用于插入。
假设为10000条记录当插入6000条记录时,它会得到一些异常,它结束了,但table2
仍然是空的,这里我想知道这是5999条记录,它将被插入到数据库?
提前致谢,
如果它不值得回答或任何原因让我知道投票的原因我可以改进它
答案 0 :(得分:1)
我有一个带有子查询的查询,用于从表中选择要插入的记录
我假设您正在运行一些INESRT INTO table2(<COLUMN LIST>) SELECT <COLUMN LIST> FROM table1 WHERE ...
来移动记录。
如果是这样,INSERT语句作为事务的一部分运行,并且只有在语句成功执行时才会提交,即如果它能够INSERT
SELECT
返回的所有记录INSERT
查询。否则,事务将被回滚,并且不会插入任何记录。
在这里,我想知道这是将它插入数据库的5999条记录吗?
在执行{{1}}语句时,这些记录将被插入到tmp位置的工作表中。如果一切顺利的话,它本可以致力于主表。