###############################
一、delete和truncate差別:
- 靈活性:delete可以條件删除資料,而truncate隻能删除表的所有資料;
delete from table_test where ...
truncate table
- 效率:delete效率低于truncate,delete是一行一行地删除,truncate會重建表結構,
- 事務:truncate是DDL語句,需要drop權限,是以會隐式送出,不能夠rollback;delete是DML語句,可以使用rollback復原。
- 觸發器:truncate 不能觸發任何Delete觸發器;而delete可以觸發delete觸發器。
二、文法格式:
delete [low_priority] [quick] [ignore] from tbl_name
[where where_definition]
[order by ...]
[limit row_count]
在删除行的過程中,ignore關鍵詞會使MySQL忽略所有的錯誤。
###################