Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann ich eine maximale Anzahl von Zeilen in einer MySQL-Tabelle festlegen?

Versuchen Sie, das Hinzufügen eines neuen Datensatzes zu einer Tabelle einzuschränken. Löst einen Fehler aus, wenn ein neuer Datensatz hinzugefügt wird.

DELIMITER $$

CREATE TRIGGER trigger1
BEFORE INSERT
ON table1
FOR EACH ROW
BEGIN
  SELECT COUNT(*) INTO @cnt FROM table1;
  IF @cnt >= 25 THEN
    CALL sth(); -- raise an error
  END IF;
END
$$

DELIMITER ;

Beachten Sie, dass die COUNT-Operation bei großen InnoDb-Tabellen langsam sein kann.

Unter MySQL 5.5 können Sie SIGNAL verwenden // RÜCKTRITT Anweisung, um einen Fehler auszulösen.