Love beautiful code? We do too.
Có một tình huống khi bạn cần một bản sao thực sự của một bảng và các lệnh CREATE TABLE … SELECT … không phù hợp với mục đích của bạn, bởi vì bản sao phải bao gồm cùng chỉ mục, cùng giá trị mặc định, và …
Nếu bạn đang sử dụng MySQL RDBMS, bạn có thể xử lý tình huống này theo các bước sau:
Bạn thử ví dụ sau để tạo một bảng mô phỏng cho VIETJACK_DB có cấu trúc như sau:
Lấy toàn bộ cấu trúc của bảng:
SQL> SHOW CREATE TABLE VIETJACK_DB \G;
*************************** 1. row ***************************
Table: VIETJACK_DB
Create Table: CREATE TABLE `VIETJACK_DB` (
`vietjack_id` int(11) NOT NULL auto_increment,
`vietjack_title` varchar(100) NOT NULL default '',
`vietjack_author` varchar(40) NOT NULL default '',
`submission_date` date default NULL,
PRIMARY KEY (`vietjack_id`),
UNIQUE KEY `AUTHOR_INDEX` (`vietjack_author`)
) TYPE=MyISAM
1 row in set (0.00 sec)
```Bước 2
------
Thay tên bảng này và tạo bảng khác.
SQL> CREATE TABLE CLONE_TBL
(
-> vietjack_id
int(11) NOT NULL auto_increment,
-> vietjack_title
varchar(100) NOT NULL default '',
-> vietjack_author
varchar(40) NOT NULL default '',
-> submission_date
date default NULL,
-> PRIMARY KEY (vietjack_id
),
-> UNIQUE KEY AUTHOR_INDEX
(vietjack_author
)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (1.80 sec)
Sau khi thực thi bước 2, bạn sẽ mô phỏng một bảng trong Database. Nếu bạn muốn sao chép dữ liệu từ bảng cũ, thì bạn có thể thực hiện bằng việc sử dụng lệnh INSERT INTO … SELECT.
SQL> INSERT INTO CLONE_TBL (vietjack_id,
-> vietjack_title,
-> vietjack_author,
-> submission_date)
-> SELECT vietjack_id,vietjack_title,
-> vietjack_author,submission_date,
-> FROM VIETJACK_DB;
Query OK, 3 rows affected (0.07 sec)
Records: 3 Duplicates: 0 Warnings: 0
```**Các loạt bài khác:**
-
Hoclaptrinh.vn © 2017
From Coder With
Unpublished comment
Viết câu trả lời