如何设置包含记录的表的限制

时间:2016-02-18 17:25:21

标签: mysql

我正在使用mySQL 有没有办法设置表记录/行的限制?我有表X,并希望在表上设置总记录/行的限制,例如2rows。所以没有人可以在表格中插入第三条记录。此表不应允许插入第三条记录。 我不想使用触发器。

3 个答案:

答案 0 :(得分:0)

您可以在用户授予的情况下执行此操作,因此用户无法写入此表,您可以创建一个单独的用户来管理此表。

参见手册:https://mariadb.com/kb/en/mariadb/grant/

答案 1 :(得分:0)

如果您不想使用触发器,则必须检查应用程序内的行数(如果有)。

答案 2 :(得分:0)

在表格上创建一个AFTER INSERT触发器。 - 这是唯一的方法。

create trigger TableLimit
on TableName
after insert
as
    declare @countTableRows int
    select @countTableRows = Count(*)
    from TableName

    if @countTableRows > 2
    begin
        rollback
    end
go