Mysql
 sql >> база данни >  >> RDS >> Mysql

Колона, изчислена от друга колона?

Генерираната колона е един от добрите подходи за версията на MySql, която е 5.7.6 и по-нова.

Има два вида генерирани колони:

  • Виртуална (по подразбиране) – колоната ще се изчислява в движение, когато записът се чете от таблица
  • Съхранено – колоната ще бъде изчислена, когато нов запис бъде записан/актуализиран в таблицата

И двата типа могат да имат НЕ NULL ограничения, но само съхранената генерирана колона може да бъде част от индекс.

За текущия случай ще използваме съхранена генерирана колона. За да приложим, прецених, че и двете стойности, необходими за изчисление, присъстват в таблица

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);

сумата автоматично ще се появи в таблицата и имате директен достъп до нея. Също така, моля, имайте предвид, че всеки път, когато актуализирате някоя от колоните, сумата също ще се актуализира.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Предупреждение:mysqli_connect():(HY000/2002):Връзката е отказана

  2. Използване на функциите password_hash и password_verify на PHP 5.5

  3. Вземете броя на записите за всички таблици в базата данни на MySQL

  4. Нулиране на ROOT парола в MySQL 5.6

  5. Брой редове с PDO