Aller au contenu

MYSQL : Limiter le nombre de ligne sur une table

Hello donc cela se fait via trigger lors d’un insert  :

Dans l’exemple ci-dessous je vais limiter la table maTable sur la DB maDB à avec le trigger appelé nomDeMonTrigger

De plus je génére un message d’erreur  »Table is full’ avec un code d’erreur 0069

use maDB;
DELIMITER $$
CREATE TRIGGER nomDeMonTrigger
BEFORE INSERT
ON maTable
FOR EACH ROW
BEGIN
SELECT COUNT(*) INTO @cnt FROM maTable;
IF @cnt >= 3 THEN
SIGNAL SQLSTATE ‘23000’ SET
MYSQL_ERRNO = 0069,
MESSAGE_TEXT = ‘Table is full’;
END IF;
END
$$

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *