


Mengapa Klausa `ORDER BY` Saya dalam Subkueri MySQL/MariaDB Tidak Berfungsi Lagi?
MySQL/MariaDB: Mengubah Gelagat ORDER BY dalam Subqueries
Pertimbangkan pertanyaan berikut, yang sebelum ini berjaya digunakan dalam MySQL 5.5:
SELECT t2.Code from (select Country.Code from Country order by Country.Code desc ) AS t2;
Dalam versi terbaru MySQL (termasuk MariaDB 10.0.14), pertanyaan ini tidak lagi mengisih keputusan dalam tertib menurun seperti yang dijangkakan. Perubahan dalam tingkah laku ini telah menimbulkan kebimbangan tentang kemungkinan pepijat.
Walau bagaimanapun, setelah disiasat, telah disahkan bahawa perubahan ini adalah disengajakan dan tidak dianggap sebagai pepijat. MariaDB telah mendokumentasikan tingkah laku ini, menjelaskan bahawa subkueri mengembalikan set baris yang tidak tertib dan klausa ORDER BY dalam subquery mungkin diabaikan.
Untuk memastikan susunan yang diingini, adalah disyorkan untuk menggunakan klausa ORDER BY pada pertanyaan terluar atau, jika perlu, tambah klausa LIMIT pada subquery:
SELECT t2.Code FROM ( SELECT Country.Code FROM Country ORDER BY Country.Code DESC LIMIT 2 ) AS t2;
Pertanyaan yang disemak ini menggunakan jenis dengan betul dan menghasilkan hasil yang diingini.
Perhatikan bahawa perubahan dalam tingkah laku ini juga digunakan untuk MySQL 5.6, menurut ulasan pada laporan pepijat asal . Pembangun harus menyedari perubahan ini dan melaraskan pertanyaan mereka dengan sewajarnya untuk mengekalkan gelagat pengisihan yang diingini.
Atas ialah kandungan terperinci Mengapa Klausa `ORDER BY` Saya dalam Subkueri MySQL/MariaDB Tidak Berfungsi Lagi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Mysqlviewshavelimitations: 1) theDon'tsupportallsqloperations, bintikDatamanipulationThroughviewswithjoinsorsubqueries.2) merekacanimpactperformance, terutamanya dengan komplekssum

Betul -betul

Mysqldoes'timposeahardlimitontriggers, butpracticalfactorsDeterminetheirefectiveus

Ya, It'sSsafetostoreBlobDatainMysql, ButConserthySefactors: 1) Storagespace: BlobScanconsumesignificantspace, PotensiCreaseScostSandSlowingPerformance.2)

Menambah pengguna MySQL melalui antara muka web PHP boleh menggunakan sambungan MySQLI. Langkah -langkah adalah seperti berikut: 1. Sambungkan ke pangkalan data MySQL dan gunakan sambungan MySQLI. 2. Buat pengguna, gunakan pernyataan CreateUser, dan gunakan fungsi kata laluan () untuk menyulitkan kata laluan. 3. Mencegah suntikan SQL dan gunakan fungsi mysqli_real_escape_string () untuk memproses input pengguna. 4. Berikan kebenaran kepada pengguna baru dan gunakan pernyataan geran.

Mysql'sblobissusuipableforstoringbinarydatawithinarelationaldatabase, sementara

Toaddauserinmysql, gunakan: createuser'username '@' host'identifiedby'password '; here'showtodoitsecurely: 1) choosethehostcareflelytocon trolaccess.2) SetResourcelImitSwithOptionsLikeMax_queries_per_hour.3) USESTRONG, UNIQUEPASSWORDS.4) Enforcessl/TLSConnectionswith

Toavoidcommonmistakeswithstringdatatypesinmysql, fahamistringtypenuances, choosetherighttype, danManageencodingandcollationsettingsefectively.1) usecharfarfixed-lengthstrings, varcharforvariable-length, andtext/blobforlargerdata.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Dreamweaver CS6
Alat pembangunan web visual

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna
