2012-09-28 75 views
0

在MySQL中,下面的查詢,這是從學生的新創建mysql的創建像查詢

CREATE TABLE `t1` LIKE `student` 

T1,都會有相同的架構和foriegn鍵像爲學生或沒有。這是我的疑問。

任何人都可以清除我的疑問嗎?

+4

你爲什麼不只是嘗試?這樣你解決這個問題,無論如何。 – LSerni

+1

做完你的'CREATE TABLE t1 LIKE學生;'做一個'SHOW CREATE TABLE t1;'來檢查它。 –

回答

0

表T1有一個像學生和外鍵相同的架構,但它是空表。 Ref

對於細節,

  • 您可以通過添加一個在 CREATE TABLE語句的結束SELECT語句生成另一個表:

> CREATE TABLE new_tbl SELECT * FROM orig_tbl;

在這種情況下

,從原來的表中的所有數據被複制到新表,但架構相關的信息,如primay關鍵contratint不包括。


  • 使用LIKE來創建基於另一 表的定義的空表,包括在 原始表中定義的任何列屬性和索引:

> CREATE TABLE new_tbl LIKE orig_tbl;

在這種情況下,新表具有相同架構的原始表,但沒有數據。

0

here報價:

使用LIKE創建一個基於另一個表的定義一個空表,包括在原表中定義的任何列屬性和索引:

CREATE TABLE new_tbl LIKE orig_tbl ;

副本將使用該表存儲格式與原始表相同版本創建的。原始表上需要SELECT權限。

LIKE僅適用於基表,不適用於視圖。

CREATE TABLE ... LIKE不保留原始表中指定的任何數據目錄索引目錄表的選項,或任何外鍵定義。