對於MySQL的複製相同表結構方法,有create table as 和create table like 兩種,區別是什麼呢?
create table t2 as select * from t1 where 1=2;
或者 limit 0;
as創建出來的t2表(新表)缺少t1表(源表)的索引資訊,只有表結構相同,沒有索引。
create table t2 like t1 ;
like 創建出來的新表包含源表的完整表結構和索引資訊。
二者的用途:
as用來建立相同表結構並複製源表資料。
like用來建立完整表結構和全部索引。
oracle支援as,也是隻有表結構沒有索引,oracle不支援like。
兩種方式在複製表的時候均不會複製許可權對錶的設定。比如說原本對錶B做了許可權設定,複製後,表A不具備類似於表B的許可權。