使用 CREATE TABLE ... LIKE
來基於另一個表格的定義建立一個空表格,包含原始表格中定義的任何欄位屬性和索引。
CREATE TABLE new_tbl LIKE orig_tbl;
複製的表格會使用與原始表格相同的表格儲存格式版本建立。 原始表格需要 SELECT
權限。
LIKE
僅適用於基本表格,不適用於檢視表。
當 LOCK TABLES
語法生效時,您無法執行 CREATE TABLE
或 CREATE TABLE ... LIKE
。
CREATE TABLE ... LIKE
會執行與 CREATE TABLE
相同的檢查。 這表示如果目前的 SQL 模式與建立原始表格時生效的模式不同,則表格定義可能會被視為對於新模式無效,並導致語法失敗。
對於 CREATE TABLE ... LIKE
,目標表格會保留原始表格產生的欄位資訊。
對於 CREATE TABLE ... LIKE
,目標表格會保留原始表格的運算式預設值。
對於 CREATE TABLE ... LIKE
,目標表格會保留原始表格的 CHECK
限制,但所有限制名稱都是產生的。
CREATE TABLE ... LIKE
不會保留原始表格指定的任何 DATA DIRECTORY
或 INDEX DIRECTORY
表格選項,也不會保留任何外鍵定義。
如果原始表格是 TEMPORARY
表格,CREATE TABLE ... LIKE
不會保留 TEMPORARY
。 要建立 TEMPORARY
目標表格,請使用 CREATE TEMPORARY TABLE ... LIKE
。
CREATE TABLE ... LIKE
操作會將所有 ENGINE_ATTRIBUTE
和 SECONDARY_ENGINE_ATTRIBUTE
值套用至新表格。