Pemilihan Medan Dinamik dalam MySQL Berdasarkan Pembolehubah
Ia selalunya perlu dalam pengaturcaraan pangkalan data untuk memilih medan secara dinamik berdasarkan nilai pembolehubah. Ini amat berguna dalam senario di mana nama medan tidak diketahui atau berbeza secara dinamik.
Pemilihan Medan Menggunakan Pembolehubah Rentetan
Soalan: Adakah ia mungkin untuk memilih medan yang namanya disimpan dalam pembolehubah rentetan MySQL?
SELECT 'fieldname' FROM table;
Jawapan: Ya, adalah mungkin untuk membina pernyataan MySQL secara dinamik menggunakan pembolehubah rentetan:
SET @fieldname = 'name'; SELECT @fieldname FROM table;
Kemas Kini Dinamik Menggunakan Pembolehubah Medan
Soalan: Bagaimanakah saya boleh lakukan kemas kini pada jadual menggunakan pembolehubah yang mewakili nama medan dalam MySQL?
SET fieldname = NEW.`name`; UPDATE table SET fieldname = 1;
Jawapan: Tidak boleh menggunakan rentetan arbitrari sebagai nama medan dalam MySQL secara langsung. Walau bagaimanapun, anda boleh menggunakan penyelesaian menggunakan ciri PENYATA DISEDIAKAN MySQL:
SELECT columnname FROM queries INTO @colname; SET @table = 'mytable'; SET @s = CONCAT('SELECT ', @colname, ' FROM ', @table); PREPARE stmt FROM @s; EXECUTE stmt;
Ini membolehkan anda membuat pernyataan yang disediakan dengan nama medan dinamik berdasarkan nilai yang disimpan dalam pembolehubah @colname.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Pilih dan Kemas Kini Medan MySQL Secara Dinamik Menggunakan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!