我想在Android应用程序的表上强制使用外键constarint.
我搜索过这可以通过使用触发器来完成:
我是这样做的:
db.execSQL("CREATE TRIGGER dept_id_trigger22+" +
" AFTER INSERT "+
" OF EmployeeName ON Employees"+
" BEGIN"+
//Condition
" RAISE(ABORT,'error') END;");
Run Code Online (Sandbox Code Playgroud)
但没有引发错误,并插入了非法值.
这有什么问题?
好,我知道了
Android支持SQLite触发器.
正确的语法是
db.execSQL("CREATE TRIGGER dept_id_trigger22" +
" AFTER INSERT "+
"ON Employees"+
" BEGIN"+
//Condition
" SELECT RAISE(ABORT,'error'); END;");
Run Code Online (Sandbox Code Playgroud)
我在加注声明后忘记添加分号.
这不会执行语句,但不会引发异常.仍将搜索如何抛出异常
谢谢
| 归档时间: |
|
| 查看次数: |
8988 次 |
| 最近记录: |