Entiende el código de forma correcta previamente a adaptarlo a tu proyecto si tdeseas aportar algo puedes dejarlo en la sección de comentarios.
Solución:
Intente hacer una restricción para agregar un nuevo registro a una tabla. Genera un error cuando se va a agregar un nuevo registro.
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 ;
Tenga en cuenta que la operación COUNT puede ser lenta en tablas grandes de InnoDb.
En MySQL 5.5 puede usar la instrucción SIGNAL // RESIGNAL para generar un error.
- Cree una tabla con 100.000 filas.
- Rellene previamente uno de los campos con una “marca de tiempo” en el pasado.
- Seleccione el registro más antiguo, actualice la “marca de tiempo” al “crear” (actualizar) el registro.
- Solo use seleccionar y actualizar, nunca use insertar o eliminar.
- El índice inverso en el campo “marca de tiempo” hace que la selección/actualización sea rápida.
No hay forma de limitar el número máximo de filas de una tabla en MySQL, a menos que escriba un disparador para hacerlo.
Recuerda que te brindamos la opción de añadir una tasación justa .
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)