Menjana Integer Positif Menggunakan SQL SELECT
Keperluan untuk mendapatkan set hasil yang terdiri daripada integer positif N pertama selalunya timbul dalam tugasan manipulasi data. Walau bagaimanapun, ia boleh menimbulkan cabaran dalam penyataan SQL SELECT standard apabila tiada jadual kiraan disediakan.
Mencuba Penyelesaian SQL Standard
Pada mulanya, ia mungkin kelihatan boleh dilakukan untuk mendapatkan semula ini integer secara langsung menggunakan pernyataan SELECT. Walau bagaimanapun, kebanyakan sistem SQL utama tidak mempunyai mekanisme terbina dalam untuk menjana satu set integer berturut-turut. Akibatnya, bergantung semata-mata pada pernyataan SELECT standard mungkin tidak menghasilkan hasil yang diingini.
Pendekatan MySQL Khusus
Malangnya, MySQL mempamerkan kelemahan yang ketara dalam hal ini. Tidak seperti sistem lain yang menawarkan ciri seperti "CONNECT BY" Oracle atau "generate_series" PostgreSQL, MySQL tidak mempunyai mekanisme yang jelas untuk tugas ini.
Penyelesaian Alternatif
Untuk mengatasi had ini dalam MySQL, anda boleh mempertimbangkan a penyelesaian:
Contoh Skrip MySQL
Skrip berikut menyediakan contoh mencipta dan menggunakan jadual pengisi untuk menjana integer positif:
CREATE TABLE filler ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT ) ENGINE=Memory; CREATE PROCEDURE prc_filler(cnt INT) BEGIN DECLARE _cnt INT; SET _cnt = 1; WHILE _cnt <= cnt DO INSERT INTO filler SELECT _cnt; SET _cnt = _cnt + 1; END WHILE; END $$ -- Call the procedure to fill the table with integers CALL prc_filler(10); -- Select the desired number of integers SELECT id FROM filler LIMIT 5;
Skrip ini mencipta jadual sementara yang dipanggil "pengisi" dengan lajur "id" dan mengisinya dengan 10 positif pertama integer. Anda kemudiannya boleh menggunakan pernyataan SELECT untuk mendapatkan semula bilangan integer yang diingini seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Satu Siri Integer Positif Menggunakan Pernyataan SQL SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!