Rumah >pangkalan data >tutorial mysql >Adakah MySQL Kekurangan Penjana Baris Teguh Seperti Oracle's CONNECT BY atau Generator_series() PostgreSQL?
MySQL Row Generator: Alternatif Terhad
Tidak seperti sistem pangkalan data lain, MySQL tidak mempunyai keupayaan untuk menjana bilangan baris sewenang-wenangnya untuk operasi JOIN seperti dalam sintaks Oracle.
Penghadan ini mewujudkan cabaran apabila mencari penjana baris serba boleh yang setanding dengan klausa CONNECT BY Oracle atau fungsi generate_series() PostgreSQL. Walau bagaimanapun, terdapat beberapa alternatif untuk mensimulasikan penjanaan baris dalam MySQL:
<code class="language-sql">WITH RECURSIVE Hier(Row) AS ( SELECT 1 UNION ALL SELECT Row + 1 FROM Hier WHERE Row < 10 ) SELECT * FROM Hier;</code>
<code class="language-sql">DECLARE Row INT DEFAULT 0; WHILE Row < 10 DO -- 在这里插入你的逻辑,例如插入到临时表中 SET Row = Row + 1; END WHILE;</code>
Kaedah ini mensimulasikan penjanaan baris dengan menjana bilangan baris tertentu secara berulang dan menyimpannya dalam jadual sementara. Walau bagaimanapun, mereka memerlukan jadual tambahan dan struktur pertanyaan, menjadikannya kurang cekap daripada penjana baris khusus.
Oleh itu, adalah penting untuk memahami batasan MySQL berkenaan dengan penjanaan baris dan meneroka cara alternatif untuk mencapai fungsi yang serupa.
Atas ialah kandungan terperinci Adakah MySQL Kekurangan Penjana Baris Teguh Seperti Oracle's CONNECT BY atau Generator_series() PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!