How to allow only one row for a table?

后端 未结 3 1536
甜味超标
甜味超标 2021-02-18 18:18

I have one table in which I would like only one entry. So if someone is trying to insert another row it shouldn\'t be allowed, only after someone deleted the pr

3条回答
  •  情歌与酒
    2021-02-18 18:57

    Add a new column to the table, then add a check constraint and a uniqueness constraint on this column. For example:

    CREATE TABLE logging (
        LogId integer UNIQUE default(1),
        MyData text,
        OtherStuff numeric,
        Constraint CHK_Logging_singlerow CHECK (LogId = 1)
    );
    

    Now you can only ever have one row with a LogId = 1. If you try to add a new row it will either break the uniqueness or check constraint.

    (I might have messed up the syntax, but it gives you an idea?)

提交回复
热议问题