gpt4 book ai didi

android - 获取导致 SQLiteConstraintException 的约束名称

转载 作者:行者123 更新时间:2023-11-29 21:41:58 26 4
gpt4 key购买 nike

如何获取导致 SQLiteConstraintException 的约束的名称。

在异常上调用 toString() 只会给我:“错误代码 19:约束失败”

而且异常中也没有获取原因的方法。这使得调试我的 sql 变得相当困难。

最佳答案

从版本3.7.17 开始, SQLite 在错误消息中显示约束的名称:

sqlite> create table t(x, constraint x_positive check (x>0));
sqlite> insert into t values(-1);
Error: constraint x_positive failed

但是,这个版本在 Android 中出现还需要一段时间。

与此同时,您可以将约束替换为 trigger可以使用它喜欢的任何消息:

CREATE TRIGGER check_x_positive
BEFORE INSERT ON t -- also UPDATE
FOR EACH ROW
WHEN NEW.x <= 0
BEGIN
SELECT RAISE(ABORT, 'RED ALERT! database on fire because x <= 0');
END;

关于android - 获取导致 SQLiteConstraintException 的约束名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16824404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com