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

Kiểu dữ liệu cho cột rating 5 sao trong MySQL (ENUM)

Kiểu ENUM phù hợp cho cột rating cố định giá trị (1-5 sao), đảm bảo tính toàn vẹn dữ liệu.

Ví dụ

Tạo bảng cột UserRating ENUM:

mysql> create table DemoTable ( 
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    UserRating ENUM('1','2','3','4','5') 
); 
Query OK, 0 rows affected (0.54 sec)

Chèn dữ liệu:

mysql> insert into DemoTable(UserRating) values('5'); 
mysql> insert into DemoTable(UserRating) values('3'); 
mysql> insert into DemoTable(UserRating) values('1'); 
mysql> insert into DemoTable(UserRating) values('3'); 
mysql> insert into DemoTable(UserRating) values('4');

Kết quả:

+----+------------+
| Id | UserRating |
+----+------------+
| 1  | 5          |
| 2  | 3          |
| 3  | 1          |
| 4  | 3          |
| 5  | 4          |
+----+------------+

Ưu điểm ENUM:

  • Ràng buộc dữ liệu tại database level (chỉ chấp nhận 1-5)
  • Tiết kiệm lưu trữ (1-2 byte tùy số lượng giá trị)
  • Sắp xếp theo thứ tự định nghĩa trong ENUM

Nhược điểm: Thay đổi danh sách giá trị cần ALTER TABLE (khóa bảng). Cân nhắc bảng lookup (rating_values) nếu cần linh hoạt.