當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL TRUNCATE用法及代碼示例


MySQL 的 TRUNCATE 語句刪除表及其所有記錄,然後將其重新創建為空表。它類似於刪除表中所有行的 DELETE 語句(即不帶 WHERE 子句的 DELETE 語句)。

警告

一旦你TRUNCATE一個表,你就無法撤消它,所以執行它時要非常小心!

需要注意的幾點:

  • 您無法對由外鍵約束引用的InnoDB 表執行TRUNCATE

  • 一旦您 TRUNCATE 表,任何 AUTO_INCREMENT 值都會重置。

用法

TRUNCATE [TABLE] table_name;

例子

請考慮下表了解學生是否持有駕駛執照:

student_id

full_name

年齡

has_license

1

天空鎮

17

0

2

本·戴維斯

19

1

3

特拉維斯·蘋果

18

0

4

亞瑟·大衛

16

0

5

本傑明鎮

17

1

可以使用此處的代碼創建上述示例表。

要從 drivers_license 表中刪除所有記錄:

TRUNCATE drivers_license;



Query OK, 0 rows affected (0.02 sec)

請注意,無論刪除多少行,返回的響應都會顯示 "0 rows affected”

現在檢查 drivers_license 表的內容:

SELECT * FROM drivers_license;



Empty set (0.00 sec)

我們可以看到所有記錄現在都已被刪除。

相關用法


注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | TRUNCATE。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。