在处理要插入SQLite数据库的数据时,最好的方法是什么:
1.在数据库本身内写入尽可能多的复杂TRIGGERS
代码
2.在TEMPORARY TABLES
中动态创建Java
和类似解决方案
3.几乎完全用Java
处理原始CRUD语句来处理数据库?
我真的没有任何真正的代码可供分享,因为我在构思时,但最好的方法是强制执行FOREIGN KEYS
(即删除不再有的行)引用表中的连接值);含TRIGGERS
或Java
?另一个例子:使用Java
方法length()
代替以下TRIGGER
会更好吗?
CREATE TABLE table ( column1 TEXT, column2 INTEGER );
CREATE TRIGGER tableTrigger INSERT ON table BEGIN INSERT INTO table VALUES ( NEW.column1 , LENGTH ( NEW.column1 ));
(注意:这些都是非常简单的例子,而我最终的TRIGGERS
会更复杂,因此我对一般方法或适用的经验法则感兴趣。)
答案 0 :(得分:0)
这实际上取决于您尝试强制执行的具体约束。
对于您的第一个示例,无需编写触发器来强制执行外键关系。 SQLite将在您定义列时为您添加此约束,方法是添加“ON DELETE CASCADE”(在此处阅读更多内容:https://www.sqlite.org/foreignkeys.html)。
我倾向于在应用程序代码本身中编写逻辑,因为这比数据库触发器更容易调试。