Rumah >pangkalan data >tutorial mysql >Bolehkah MySQL Secara Automatik Mengira Lajur Jadual Berdasarkan Lain?

Bolehkah MySQL Secara Automatik Mengira Lajur Jadual Berdasarkan Lain?

Linda Hamilton
Linda Hamiltonasal
2025-01-17 07:46:12826semak imbas

Can MySQL Automatically Calculate a Table Column Based on Another?

Kira lajur berdasarkan lajur lain

Soalan:

Bolehkah jadual pangkalan data mengira secara automatik satu lajur berdasarkan lajur lain, serupa dengan paparan, tetapi disepadukan ke dalam jadual itu sendiri?

Jawapan:

Dalam MySQL 5.7.6 dan lebih baru, lajur yang dijana menyediakan fungsi ini.

Jenis lajur yang dijana:

  • Maya (lalai): Dikira atas permintaan semasa membaca rekod.
  • Storan: Dikira apabila rekod baharu ditulis atau dikemas kini.

Laksanakan lajur yang dikira:

Dalam contoh yang diberikan, kami ingin mencipta lajur terkira yang dipanggil "dikira" dengan separuh nilai lajur "nilai". Menggunakan lajur terjana yang disimpan, kami boleh melaksanakannya seperti berikut:

<code class="language-sql">CREATE TABLE order_details (
    id INT PRIMARY KEY,
    value INT,
    calculated AS (value / 2) STORED
);

INSERT INTO order_details (id, value) VALUES
    (1, 6),
    (2, 70);</code>

Lajur yang dikira akan diisi secara automatik dengan nilai yang diperlukan (3 untuk > ... Teks asal di sini tiada dan harus dilengkapkan).

Atas ialah kandungan terperinci Bolehkah MySQL Secara Automatik Mengira Lajur Jadual Berdasarkan Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn