mysql複製乙個空表 Mysql 複製乙個新錶

2021-10-18 21:09:59 字數 2025 閱讀 9876

1、複製表結構及資料到新錶

create table 新錶 select * from 舊表

這種方法會將oldtable中所有的內容都拷貝過來,當然我們可以用delete from newtable;來刪除。

不過這種方法的乙個最不好的地方就是新錶中沒有了舊表的primary key、extra(auto_increment)等屬性。需要自己用"alter"新增,而且容易搞錯。

2、只複製表結構到新錶

create table 新錶 select * from 舊表 where 1=2

或create table 新錶  like 舊表

這個和上面一樣主鍵索引和一些屬性都會消失。

原來的表:

mariadb [syw]> desc news_person;

| field | type | null | key | default | extra |

| id | int(11) | no | pri | null | auto_increment |

| name | varchar(30) | no | | null | |

| age | int(11) | no | | null | |

3 rows in set (0.05 sec)

執行後:

mariadb [syw]> create table news_person_new select * from news_person where 1=2;

query ok, 0 rows affected (0.49 sec)

records: 0 duplicates: 0 warnings: 0

檢視索引:

mariadb [syw]> show index from news_person;

| table | non_unique | key_name | seq_in_index | column_name | collation | cardinality | sub_part | packed | null | index_type | comment | index_comment |

| news_person | 0 | primary | 1 | id | a | 0 | null | null | | btree | | |

1 row in set (0.00 sec)

mariadb [syw]> show index from news_person_new;

empty set (0.00 sec)

正確方法:

create table 新錶

like 舊表

mariadb [syw]> create table news_person_new1 like news_person;

query ok, 0 rows affected (0.24 sec)

mariadb [syw]> desc news_person_new1;

| field | type | null | key | default | extra |

| id | int(11) | no | pri | null | auto_increment |

| name | varchar(30) | no | | null | |

| age | int(11) | no | | null | |

3 rows in set (0.03 sec)

mariadb [syw]> show index from news_person_new1;

| table | non_unique | key_name | seq_in_index | column_name | collation | cardinality | sub_part | packed | null | index_type | comment | index_comment |

| news_person_new1 | 0 | primary | 1 | id | a | 0 | null | null | | btree | | |

1 row in set (0.00 sec)

mysql儲存過程 實現乙個表複製另乙個表的字段

1.儲存過程 功能 登入驗證 邏輯 1 引數說明 v name 使用者登入名 v psd 使用者密碼 v out 使用者不存在或使用者密碼不正確的是否v out 1,否則v out 9 2 步驟 a.從使用者表user查詢使用者名為v name的使用者是否存在 存在則進入下一步,否則v out 1 ...

MySQL 複製表到另乙個表

1.複製表結構及資料到新錶 create table 新錶 select from 舊表 2.只複製表結構到新錶 方法1 低版本的mysql不支援,mysql4.0.25 不支援,mysql5已經支援了 create table 新錶 like 舊表 方法2 create table 新錶 sele...

複製乙個複雜鍊錶

在牛客網上刷題時,出現了如下的錯誤 您的 已儲存 段錯誤 您的程式發生段錯誤,可能是陣列越界,堆疊溢位 比如,遞迴呼叫層數太多 等情況引起 case通過率為0.00 試題題目為 複雜鍊錶的複製。class solution pnode phead pclonenode clonenode while...