Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Biến hệ thống table_type trong MySQL không hoạt động? Dùng default_storage_engine

Biến hệ thống table_type đã bị loại bỏ (deprecated) kể từ MySQL 5.5.3 và không còn hoạt động. Thay vào đó, hãy sử dụng biến default_storage_engine để đặt engine lưu trữ mặc định cho phiên làm việc hiện tại.

Cú pháp mới

SET default_storage_engine = ten_engine;

Giá trị phổ biến: InnoDB (mặc định từ MySQL 5.5), MyISAM, MEMORY, CSV...

Ví dụ đặt engine MyISAM cho session hiện tại

mysql> SET default_storage_engine = MyISAM;
Query OK, 0 rows affected (0.00 sec)

Tạo bảng và kiểm tra engine

mysql> CREATE TABLE DemoTable (Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
mysql> SHOW TABLE STATUS WHERE Name = 'DemoTable';\G

Kết quả (Engine = MyISAM)

*************************** 1. row ***************************
           Name: DemoTable
         Engine: MyISAM
        Version: 10
     Row_format: Fixed
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 1970324836974591
   Index_length: 1024
      Data_free: 0
 Auto_increment: 1
    Create_time: 2019-05-01 22:15:03
    Update_time: 2019-05-01 22:15:03
     Check_time: NULL
      Collation: utf8_unicode_ci
       Checksum: NULL
 Create_options: 
      Comment: 
1 row in set (0.34 sec)

Lưu ý quan trọng:

  • Việc SET default_storage_engine chỉ ảnh hưởng đến phiên làm việc hiện tại (session). Khởi động lại MySQL hoặc kết nối mới sẽ quay về mặc định (thường là InnoDB).
  • Để thay đổi vĩnh viễn, cấu hình trong file my.cnf (hoặc my.ini Windows) dưới section [mysqld]: default-storage-engine=MyISAM rồi restart MySQL.
  • Tuy nhiên, InnoDB là engine được khuyến nghị cho hầu hết ứng dụng nhờ hỗ trợ transaction, khóa ngoại, khôi phục sự cố (crash recovery) tốt hơn.