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

PEMICU yang menyebabkan INSERT gagal? Bisa jadi?

Dari postingan blog

Pemicu MySQL:Bagaimana Anda membatalkan INSERT, UPDATE, atau DELETE dengan pemicu? Di #mysql EfNet seseorang bertanya:

Bagaimana cara membuat pemicu membatalkan operasi jika aturan bisnis saya gagal?

Di MySQL 5.0 dan 5.1 Anda perlu melakukan beberapa trik untuk membuat pemicu gagal dan mengirimkan pesan kesalahan yang berarti. FAQ MySQL StoredProcedure mengatakan ini tentang penanganan kesalahan:

SP 11. Apakah SP memiliki pernyataan “naikkan” untuk “menaikkan kesalahan aplikasi”? Maaf, tidak untuk saat ini. Pernyataan SIGNAL dan RESIGNAL standar SQL ada di TODO.

Mungkin MySQL 5.2 akan menyertakan pernyataan SIGNAL yang akan membuat peretasan ini langsung dari Pemrograman StoredProcedure MySQL menjadi usang. Apa hacknya? Anda akan memaksa MySQL untuk mencoba menggunakan kolom yang tidak ada. Jelek? Ya. Apakah itu bekerja? Tentu.

CREATE TRIGGER mytabletriggerexample
BEFORE INSERT
FOR EACH ROW BEGIN
IF(NEW.important_value) < (fancy * dancy * calculation) THEN
    DECLARE dummy INT;

    SELECT Your meaningful error message goes here INTO dummy 
        FROM mytable
      WHERE mytable.id=new.id
END IF; END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Insert Command vs T-SQL Query Syntax dengan Contoh

  2. PHP &mySQL:Tahun 2038 Bug:Apa itu? Bagaimana cara mengatasinya?

  3. Buat Pengguna MySQL di Linux melalui Command Line

  4. Bagaimana saya bisa mempercepat kueri MySQL dengan offset besar di klausa LIMIT?

  5. Cara Membuat Urutan di MySQL