Mendapatkan Nama Lajur Dinamik dalam MySQL
Dalam MySQL, pemilihan nama lajur secara dinamik menjadi perlu apabila struktur jadual tidak diketahui atau tertakluk kepada perubahan yang kerap . Panduan ini meneroka pendekatan untuk menyelesaikan tugas ini dengan cekap.
Menggunakan Penyata Disediakan dan SQL Dinamik
Untuk memilih nama lajur secara dinamik, kami boleh memanfaatkan pernyataan yang disediakan dan SQL dinamik. Teknik ini membolehkan kami membina pernyataan SQL berdasarkan maklumat masa jalan:
SELECT c.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.TABLE_NAME = 'table_name' AND c.COLUMN_NAME LIKE 'prefix%';
SET @query = CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM table_name;');
PREPARE stmt FROM @query;
EXECUTE stmt;
Kelebihan dan Pertimbangan
Sampel Pelaksanaan
Yang disediakan coretan kod menunjukkan proses pemilihan lajur dinamik:
CREATE TABLE atable ( prefix1 VARCHAR(10), prefix2 VARCHAR(10), notprefix3 INT, notprefix4 INT ); /* Insert sample data */ SELECT CONCAT('SELECT ', GROUP_CONCAT(c.COLUMN_NAME), ' FROM atable;') INTO @query FROM INFORMATION_SCHEMA.COLUMNS c WHERE c.TABLE_NAME = 'atable' AND c.COLUMN_NAME LIKE 'prefix%' ORDER BY c.ORDINAL_POSITION; PREPARE stmt FROM @query; EXECUTE stmt;
Ini kod secara dinamik memilih dan memaparkan lajur dengan nama bermula dengan "awalan" dalam jadual jadual.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Lajur Dinamik dalam MySQL Menggunakan Pernyataan yang Disediakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!