在MySQL中,我可以在CREATE TABLE语句中使用MAX_ROWS选项来限制行号,我该如何在sqlite中执行此操作?感谢
答案 0 :(得分:0)
SQLite没有这样的等价选项。
最好的办法是在插入并检查返回的计数是否大于您想要的最大值之前运行SELECT COUNT(*) FROM tbl
。
答案 1 :(得分:0)
SQLite没有明确的机制,但您可以使用触发器实现它:
CREATE TRIGGER MyTable_row_count
BEFORE INSERT ON MyTable
WHEN (SELECT COUNT(*) FROM MyTable) >= 10
BEGIN
SELECT RAISE(FAIL, 'too many rows');
END;