Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để thay đổi Table Engine trong MySQL?


Bạn có thể thay đổi công cụ bảng với sự trợ giúp của lệnh thay đổi. Cú pháp như sau -

alter table yourTableName ENGINE = yourEngineName;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng với engine MyISAM. Sau đó, bạn có thể thay đổi bất kỳ động cơ nào khác. Sau đây là truy vấn để tạo bảng.

mysql> create table ChangeEngineTableDemo
−> (
   −> MovieId int,
   −> MovieName varchar(100),
   −> IsPopular bool
−> )ENGINE = 'MyISAM';
Query OK, 0 rows affected (0.37 sec)

Nhìn vào truy vấn trên, công cụ bảng là MyISAM, bây giờ bạn có thể thay đổi nó thành bất kỳ công cụ nào khác. Ở đây, chúng tôi sẽ thay đổi loại động cơ InnoDB. Truy vấn để thay đổi loại động cơ như sau -

mysql> alter table ChangeEngineTableDemo ENGINE = InnoDB;
Query OK, 0 rows affected (2.21 sec)
Records: 0 Duplicates: 0 Warnings: 0

Để kiểm tra loại công cụ đã được thay đổi hay chưa với sự trợ giúp của lệnh show, sau đây là truy vấn -

mysql> show create table ChangeEngineTableDemo;

Sau đây là kết quả -

+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                 | Create Table                                                                                                                                                                                                                        |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ChangeEngineTableDemo | CREATE TABLE `changeenginetabledemo` (
`MovieId` int(11) DEFAULT NULL,
`MovieName` varchar(100) DEFAULT NULL,
`IsPopular` tinyint(1) DEFAULT NULL
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci                                                                                                            |
+-----------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.03 sec)