Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mendeteksi kesalahan mysql tanpa menjalankannya

MENJELASKAN melakukan trik jika Anda menjalankan MySQL 5.6 atau lebih tinggi.

explain update whatever;

Jika kuerinya ok, itu menunjukkan rencana eksekusi. Jika tidak, ini akan mengembalikan kesalahan sintaks.

Jika Anda menjalankan versi MySQL yang lebih rendah, saya melihat beberapa opsi:

  1. Opsi yang disarankan :Siapkan database pengujian yang mencerminkan database produksi Anda setidaknya dalam struktur . Idealnya diisi dengan data uji untuk memverifikasi bahwa kueri tidak hanya benar secara sintaksis; tetapi itu berfungsi seperti yang diharapkan .
  2. Jalankan kueri dalam cakupan TRANSAKSI yang segera digulung kembali.
  3. Jalankan versi kueri yang sedikit dimodifikasi agar sesuai dengan NO BARIS.

Misalnya:

update table set col1 = @val1 where col2 = @val2;

Menjadi:

update table set col1 = @val1 where (col2 = @val2) and 1=0;

Jadi, jika Anda menjalankan 5.6 atau lebih tinggi, EXPLAIN triknya rapi. Jika tidak, opsi 2 dan 3 dari daftar juga merupakan trik yang rapi. Tapi, Anda biasanya harus mencapai pengembangan server dengan dalam pengembangan . Anda tetap bertanya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah melakukan Manajemen Transaksi di Pengontrol praktik buruk?

  2. Perlukah keluar dari input pengguna dari database?

  3. Melewati nama kolom sebagai parameter di MySQL

  4. Cara Membuat Database MySQL Menggunakan Command Line Interface (CLI)

  5. Cara Mencadangkan Basis Data Terenkripsi dengan Server Percona untuk MySQL 8.0