【发布时间】:2014-11-22 11:25:12
【问题描述】:
在 MySQL 中,我可以在 CREATE TABLE 语句中使用 MAX_ROWS 选项来限制行数,我该如何在 sqlite 中做到这一点?谢谢
【问题讨论】:
标签: sqlite create-table
在 MySQL 中,我可以在 CREATE TABLE 语句中使用 MAX_ROWS 选项来限制行数,我该如何在 sqlite 中做到这一点?谢谢
【问题讨论】:
标签: sqlite create-table
SQLite 对此没有明确的机制,但您可以使用触发器来实现它:
CREATE TRIGGER MyTable_row_count
BEFORE INSERT ON MyTable
WHEN (SELECT COUNT(*) FROM MyTable) >= 10
BEGIN
SELECT RAISE(FAIL, 'too many rows');
END;
【讨论】:
SQLite 没有这样的等效选项。
最好的办法是在插入之前运行 SELECT COUNT(*) FROM tbl 并检查返回的计数是否大于您希望的最大值。
【讨论】: