1、首先介紹一下TRUNCATE關(guān)鍵字的意義
TRUNCATE TABLE TableName是一種快速的,無(wú)日志記錄的,刪除表中所有記錄的方法。
2、TRUNCATE和DELETE的區別
TRUNCATE TABLE在功能上與不帶WHERE子句的DELETE語(yǔ)句相同:二者均刪除表中的全部行。但TRUNCATE TABLE比DELETE速度快,且使用的系統和事務(wù)日志資源少。
DELETE語(yǔ)句每次刪除一行,并在事務(wù)日志中為所刪除的每行記錄一項。TRUNCATE TABLE通過(guò)釋放存儲表數據所用的數據頁(yè)來(lái)刪除數據,并且只在事務(wù)日志中記錄頁(yè)的釋放。
TRUNCATE TABLE刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用DELETE。如果要刪除表定義及其數據,請使用DROP TABLE語(yǔ)句。
對于由FOREIGN KEY約束引用的表,不能使用TRUNCATE TABLE,而應使用不帶WHERE子句的DELETE語(yǔ)句。由于TRUNCATE TABLE不記錄在日志中,所以它不能激活觸發(fā)器。
TRUNCATE TABLE不能用于參與了索引視圖的表。
3、修改id字段的增長(cháng)初始值
ALTER TBALE TableName AUTO_INCREMENT=1
4、使用CRecordset時(shí)使用SetFieldNull將自增的變量賦值為NULL(having no value);
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。