Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cột được tính từ cột khác?

Cột được tạo là một trong những cách tiếp cận tốt cho phiên bản MySql là 5.7.6 trở lên.

Có hai loại Cột được Tạo:

  • Ảo (mặc định) - cột sẽ được tính toán nhanh khi arecord được đọc từ một bảng
  • Đã lưu trữ - cột sẽ được tính khi bản ghi mới được ghi / cập nhật trong bảng

Cả hai loại đều có thể có các hạn chế KHÔNG ĐẦY ĐỦ, nhưng chỉ một Cột được Tạo được lưu trữ mới có thể là một phần của chỉ mục.

Đối với trường hợp hiện tại, chúng tôi sẽ sử dụng cột được tạo được lưu trữ. Để triển khai, tôi đã xem xét rằng cả hai giá trị cần thiết để tính toán đều có trong bảng

CREATE TABLE order_details (price DOUBLE, quantity INT, amount DOUBLE AS (price * quantity));

INSERT INTO order_details (price, quantity) VALUES(100,1),(300,4),(60,8);

số tiền sẽ tự động bật lên trong bảng và bạn có thể truy cập trực tiếp vào nó, cũng xin lưu ý rằng bất cứ khi nào bạn cập nhật bất kỳ cột nào, số tiền cũng sẽ được cập nhật.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xác định phiên bản MySQL

  2. Làm cách nào để tối ưu hóa hàm ORDER BY RAND () của MySQL?

  3. SQL tách các giá trị thành nhiều hàng

  4. (mysql, php) Làm cách nào để lấy giá trị trường auto_increment trước khi chèn dữ liệu?

  5. Nối ba bảng bằng MySQL