Kod Ralat MySQL 1175 Semasa KEMASKINI dalam MySQL

Kod Ralat Mysql 1175 Semasa Kemaskini Dalam Mysql



'Apabila bekerja dengan pangkalan data MySQL, anda mungkin menghadapi 'Kod Ralat 1175' yang dicetuskan semasa melaksanakan arahan KEMASKINI atau PADAM.'

Siaran ini akan membincangkan punca ralat ini dan bagaimana kami boleh menyelesaikannya menggunakan pelayan MySQL.







Apa yang Menyebabkan 'Kod Ralat MySQL 1175'?

'Kod Ralat MySQL 1175' berlaku apabila melakukan operasi KEMASKINI atau PADAM tanpa menggunakan klausa WHERE.



Secara lalai, MySQL menggunakan ciri yang dipanggil safe_mode yang menghalang anda daripada melaksanakan kenyataan UPDATE atau DELETE tanpa klausa WHERE. Ini menghalang sebarang kehilangan data secara tidak sengaja pada sasaran.



Oleh itu, apabila ciri safe_mode diaktifkan, MySQL akan mengembalikan kod ralat 1175 pada mana-mana operasi DELETE atau UPDATE yang tidak termasuk klausa WHERE.





Satu contoh ditunjukkan di bawah:

kemas kini sakila.filem ditetapkan tajuk = 'Tajuk Baharu' ;



Dalam kes ini, kami cuba menukar nilai lajur tajuk tanpa menyatakan baris mana yang ingin kami sasarkan. Ini boleh menyebabkan kami menulis ganti keseluruhan jadual dengan nilai yang ditentukan. Oleh itu, MySQL akan menghalang ini dan mengembalikan ralat seperti yang ditunjukkan:

MySQL Semak sama ada Safe_Mode Didayakan

Keadaan ciri safe_mode disimpan dalam pembolehubah sql_safe_updates. Oleh itu, kita boleh mengambil nilai pembolehubah ini untuk menentukan sama ada ciri safe_mode didayakan atau tidak.

Pertanyaan adalah seperti yang ditunjukkan:

tunjukkan pembolehubah seperti 'sql_safe_updates' ;

Pertanyaan harus mengembalikan keadaan seperti yang ditunjukkan:

+------------------+-------+
| Nama_pembolehubah | Nilai |
+------------------+-------+
| sql_safe_updates | HIDUP |
+------------------+-------+
1 barisan dalam ditetapkan ( 0.00 sec )

Dalam kes ini, kita dapat melihat bahawa ciri safe_mode didayakan pada sesi.

Bagaimana untuk Menyelesaikan 'Kod Ralat MySQL 1175'

Cara terbaik untuk menyelesaikan jenis ralat ini ialah menggunakan klausa WHERE. Walau bagaimanapun, dalam beberapa kes, kami mungkin perlu melakukan KEMASKINI atau PADAM tanpa sebarang syarat.

Untuk melakukan ini, kami boleh melumpuhkan ciri safe_mode dalam sesi, membolehkan kami melaksanakan pertanyaan. Kemudian, kita boleh menggunakan arahan SET diikuti dengan nama pembolehubah dan nilai yang ingin kita tetapkan.

Sebagai contoh, untuk melumpuhkan safe_mode, kami menetapkan nilai pembolehubah sql_safe_updates kepada 0. Pertanyaan adalah seperti yang ditunjukkan:

SET SQL_SAFE_UPDATES = 0 ;

Untuk mendayakannya, tetapkan nilai kepada 1 sebagai:

SET SQL_SAFE_UPDATES = 1 ;

Dalam MySQL Workbench, anda boleh melumpuhkan ciri safe_mode dengan menavigasi ke Edit-> Keutamaan -> Editor SQL

Lumpuhkan ciri 'Kemas Kini Selamat' dan mulakan semula sesi anda ke pelayan.

Penamatan

Anda mengetahui punca 'Kod Ralat MySQL 1175' dalam siaran ini apabila melakukan kenyataan KEMASKINI atau PADAM. Anda juga mempelajari cara menyelesaikan ralat dengan melumpuhkan ciri safe_mode MySQL.