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

Bagaimana cara membatalkan operasi INSERT di pemicu MySql?

Saya menemukan ini dan meskipun solusinya berhasil, saya kemudian menemukan apa yang menurut saya seperti solusi yang lebih baik. Saya menduga ini bukan pilihan ketika pertanyaan ini awalnya dijawab.

CREATE TRIGGER `TestTable_SomeTrigger`
BEFORE UPDATE ON `test_table`
FOR EACH ROW
BEGIN
    DECLARE msg VARCHAR(255);
    IF (SomeTestToFail = "FAIL!") THEN
        set msg = "DIE: You broke the rules... I will now Smite you, hold still...";
        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
    END IF;

    -- Do any other code here you may want to occur if it's all OK or leave blank it will be
    --  skipped if the above if is true
END$$

Ini sekarang akan mengembalikan pesan kesalahan Nice (atau jahat!) yang dapat Anda jebak. Untuk info lebih lanjut tentang ini, lihat:http://dev.mysql.com/doc/refman/5.5/en/signal.html

Saya harap ini membantu orang lain!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengembalikan file dump dari mysqldump?

  2. Bagaimana cara menghindari tanda persen literal ketika opsi NO_BACKSLASH_ESCAPES diaktifkan?

  3. Perbandingan Antara Plugin Klon MySQL dan Xtrabackup

  4. Re-Slaving Server Master MySQL yang Rusak dalam Pengaturan Replikasi Semisinkron

  5. Melewati parameter ke JDBC PreparedStatement