Red de conocimiento del abogados - Ley de patentes - Agregue un activador a una tabla en MySQL cuando el número de registros en la tabla sea mayor que 300, se ordenará por ID y los primeros 100 registros se eliminarán automáticamente. La declaración SQL es la siguiente.

Agregue un activador a una tabla en MySQL cuando el número de registros en la tabla sea mayor que 300, se ordenará por ID y los primeros 100 registros se eliminarán automáticamente. La declaración SQL es la siguiente.

Parece que no hay solución.

Motivo:

El activador PARA CADA FILA en MySQL (es decir, un activador a nivel de fila, se activa una vez para cada fila) )

En el código de activación, no puede SELECCIONAR/ACTUALIZAR/ELIMINAR la tabla activada.

Su activador es DESPUÉS DE INSERTAR EN `puntos de datos`

Luego, en el código del activador,

SELECT COUNT(`ID`) DESDE los puntos de datos

y

DELETE FROM puntos de datos

no deben ejecutarse.

En su caso,

Oracle puede utilizar activadores a nivel de declaración para lograr esto.

SQL Server no tiene disparadores a nivel de fila, solo disparadores a nivel de declaración, que también se pueden implementar.

Pero MySQL no parece tener disparadores a nivel de declaración. Por lo tanto, es posible que su función no se implemente mediante activadores.