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

Nilai kolom konstan di tabel MySQL

Jadi di sini Anda dapat menemukan jalan keluar melalui MYSQL TRIGGER .

Tabel Contoh:

DROP TABLE IF EXISTS `constantvaluetable`;
CREATE TABLE `constantvaluetable` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `constValue` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB;

Pemicu:

DROP TRIGGER IF EXISTS trigger_const_check;
delimiter //
CREATE TRIGGER trigger_const_check BEFORE INSERT ON constantvaluetable 
    FOR EACH ROW 
  BEGIN 
        IF NEW.constValue <> 71 THEN 
        SIGNAL SQLSTATE '45000' SET message_text ='Only allowed value is 71';
        END IF; 
  END //
delimiter ;

Uji:

INSERT INTO constantvaluetable(constValue) VALUES(71);

INSERT INTO constantvaluetable(constValue) VALUES(66);

Hasil:

Pernyataan penyisipan pertama akan berhasil.

Pernyataan penyisipan kedua akan gagal. Dan pesan kesalahan berikut akan ditampilkan:

Catatan: Dengan asumsi CONSTANT . Anda nilainya adalah 71 .



  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 singleton akan menjadi pola desain yang baik untuk situs microblogging?

  2. Kesalahan sintaks MySQL:dekat '1' di baris 1

  3. Jalankan penyisipan mysql hanya jika tabel kosong

  4. Bagaimana cara membuat tautan permanen yang didorong oleh basis data?

  5. Loop sementara bagian dalam tidak berfungsi