
- MySQLi 教程
- MySQLi - 首頁
- MySQLi - 簡介
- MySQLi - PHP 語法
- MySQLi - 連線
- MySQLi - 建立資料庫
- MySQLi - 刪除資料庫
- MySQLi - 選擇資料庫
- MySQLi - 建立表
- MySQLi - 刪除表
- MySQLi - 插入查詢
- MySQLi - 選擇查詢
- MySQLi - WHERE 子句
- MySQLi - 更新查詢
- MySQLi - 刪除查詢
- MySQLi - LIKE 子句
- MySQLi - 排序結果
- MySQLi - 使用連線
- MySQLi - 處理 NULL 值
- 獲取和使用 MySQLi 元資料
- MySQL
- MySQL - 安裝
- MySQL - 管理
- MySQL - 資料型別
- MySQL - 正則表示式
- MySQL - 事務
- MySQL - ALTER 命令
- MySQL - 索引
- MySQL - 臨時表
- MySQL - 克隆表
- MySQL - 使用序列
- MySQL - 處理重複項
- MySQLi 有用資源
- MySQLi - 有用函式
- MySQLi - 快速指南
- MySQLi - 有用資源
- MySQLi - 討論
MySQLi - 克隆表
可能存在需要表的確切副本的情況,而 CREATE TABLE ... SELECT 不適合您的目的,因為副本必須包含相同的索引、預設值等。
您可以按照以下步驟處理這種情況:
使用 SHOW CREATE TABLE 獲取指定源表結構、索引等的 CREATE TABLE 語句。
修改該語句以將表名更改為克隆表的表名,並執行該語句。這樣,您將擁有精確的克隆表。
可選地,如果您還需要複製表內容,則也發出 INSERT INTO ... SELECT 語句。
示例
嘗試以下示例為 tutorials_inf 建立一個克隆表。
步驟 1
獲取有關表的完整結構。
mysql> SHOW CREATE TABLE tutorials_inf \G; *************************** 1. row *************************** Table: tutorials_inf Create Table: CREATE TABLE `tutorials_inf` ( `id` int(11) NOT NULL, `name` varchar(20) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `AUTHOR_INDEX` (`name`), UNIQUE KEY `NAME_INDEX` (`name`), KEY `id` (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = latin1 1 row in set (0.05 sec) ERROR: No query specified
步驟 2
重新命名此表並建立另一個表。
mysql> CREATE TABLE tutorials_clone( → id int(11) NOT NULL, → name varchar(20) NOT NULL, → PRIMARY KEY (id), → UNIQUE KEY AUTHOR_INDEX (name), → UNIQUE KEY NAME_INDEX (name), → KEY id (id)); Query OK, 0 rows affected (1.80 sec)
步驟 3
執行步驟 2 後,您將在資料庫中建立一個克隆表。如果您想從舊錶複製資料,則可以使用 INSERT INTO... SELECT 語句。
mysql> INSERT INTO tutorials_clone(id,name) SELECT id,name from tutorials_inf; Query OK, 4 rows affected (0.19 sec) Records: 4 Duplicates: 0 Warnings: 0
最後,您將獲得您想要的精確克隆表。
廣告