sql >> データベース >  >> RDS >> Mysql

別の列から計算された列?

    生成された列は、5.7.6以降のMySqlバージョンに適したアプローチの1つです。

    生成された列には次の2種類があります。

    • 仮想(デフォルト)-レコードがテーブルから読み取られるときに、列がオンザフライで計算されます
    • 保存-列は、新しいレコードがテーブルに書き込まれる/更新されるときに計算されます

    どちらのタイプにもNOTNULL制限を設定できますが、インデックスに含めることができるのは、保存されている生成列のみです。

    現在のケースでは、保存された生成列を使用します。実装するために、計算に必要な両方の値がテーブルに存在すると考えました

    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. MySQLで数値のみを返す

    2. psycopg2 /PythonDB-APIおよびPostgreSQLを使用したパラメーター化されたクエリ

    3. mysqli_fetch_array()を2回使用するにはどうすればよいですか?

    4. SQLデータベースが破損しているかどうかを確認する方法–MDFファイルを修復するソリューション