2013-04-20 31 views
0

我有一個表中有N個記錄,我想從一個表中移動所有記錄,其他人說舊錶爲table1,而新的爲table2。我有一個帶有子查詢的查詢來選擇記錄用於插入的表格。 假設爲10000條記錄在6000條記錄上插入時,它會得到一些異常,它已經結束了,但table2仍然是空的,在這裏我想知道這是5999條記錄,它將被插入到數據庫中?關於Mysql插入語句的基本查詢

在此先感謝,,

如果不配回答或任何原因讓我知道了原因,向下票我就可以改善

回答

1

我有一個子查詢的查詢選擇記錄從表中插入

我假設你有一些INESRT INTO table2(<COLUMN LIST>) SELECT <COLUMN LIST> FROM table1 WHERE ...,你正在運行的記錄移動。

如果是這樣,INSERT語句運行作爲交易的一部分,如果它能夠INSERT全部由SELECT查詢返回的記錄,如果被成功執行該語句將只承諾,即。否則,事務會回滾並且不會插入任何記錄。

在這裏,我想知道它是5999記錄它將被插入到數據庫中?

在執行INSERT語句時,這些記錄將被插入tmp位置的工作表中。如果一切進展順利的話,它將會被放到主表。

+0

謝謝fyi :) @vikdor – gks 2013-04-20 05:21:37