Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除触发器后的SQLite_Sqlite - Fatal编程技术网

删除触发器后的SQLite

删除触发器后的SQLite,sqlite,Sqlite,我有一个表,由于未知原因,从中删除数据。我们认为可能有帮助的步骤之一是在db中写入触发器,并可能在另一个表中记录一些我们认为可能是罪魁祸首的值 到目前为止: 但是这会在新表中提取大量记录。SELECT将两个表uu和up连接起来,但实际上没有对up使用任何连接限制。 因此,您可以得到两个表的笛卡尔积,即每个uu记录与WHERE条件相匹配,每个up记录重复一次 实际上,您没有从该up表中读取任何内容(old.users\u id是独立于该up表的单个值),因此您应该删除它: CREATE TRIGG

我有一个表,由于未知原因,从中删除数据。我们认为可能有帮助的步骤之一是在db中写入触发器,并可能在另一个表中记录一些我们认为可能是罪魁祸首的值 到目前为止:


但是这会在新表中提取大量记录。

SELECT将两个表
uu
up
连接起来,但实际上没有对
up
使用任何连接限制。 因此,您可以得到两个表的笛卡尔积,即每个
uu
记录与WHERE条件相匹配,每个
up
记录重复一次

实际上,您没有从该
up
表中读取任何内容(
old.users\u id
是独立于该
up
表的单个值),因此您应该删除它:

CREATE TRIGGER audit\u log\u delete
在usvn_用户_至_项目上删除后
每行
开始
插入usvn_审计_删除(emp_id,
emp_名称,
emp_是_adm,
入境日期)
选择用户\u id,
用户登录时,
用户是管理员,
日期时间(“现在”)
来自usvn_用户
其中users\u id=OLD.users\u id;
结束;

实际上,即使这样也会给出多条记录。虽然你的建议绝对有道理,但我想知道如果
usvn\u用户。users\u id
是主键,则每个删除的记录不能获得多个记录。
CREATE TRIGGER audit_log_delete after delete on usvn_users_to_projects BEGIN 
   insert into usvn_audit_delete(emp_id, emp_name, emp_is_adm ,ENTRY_DATE ) select        
   uu.users_id , uu.users_login ,uu. users_is_admin ,datetime('now') from usvn_users  
   uu,usvn_users_to_projects up where old.users_id=uu.users_id;
END;