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
Lepaskan: 2025-01-17 07:46:12
asal
822 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan