为什么不能从一个表中删除引用另一个表

2024-01-20

我一直在寻找答案,但也许我错过了一些东西。 我有 2 个表,如下所示。第一个表中的实体是从第二个表中引用的,但是当我尝试从第二个表中删除时,我得到Error: foreign key mismatch。有触发器(此处未显示),但它们与DELETE or cmdauth。我不明白为什么不能删除行?

CREATE TABLE app (name TEXT, script TEXT, PRIMARY KEY(name));
CREATE TABLE env (name TEXT, PRIMARY KEY(name));
CREATE TABLE role (name TEXT, command TEXT, PRIMARY KEY(name,command));

CREATE TABLE cmdauth (groupname TEXT, rolename TEXT, appname TEXT, envname TEXT, FOREIGN KEY (appname) REFERENCES app(name), FOREIGN KEY (rolename) REFERENCES role(name), FOREIGN KEY (envname) REFERENCES env(name), PRIMARY KEY (groupname,rolename,appname,envname));

sqlite> select * from cmdauth where appname='app1' and groupname='admin' and envname='test' and rolename='restarter';
admin|restarter|app1|test
sqlite> delete from cmdauth where appname='app1' and groupname='admin' and envname='test' and rolename='restarter';
Error: foreign key mismatch

感谢您的帮助!


The 文档 http://www.sqlite.org/foreignkeys.html#fk_indexes says:

通常,外键约束的父键是父表的主键。如果它们不是主键,则父键列必须共同受到 UNIQUE 约束或具有 UNIQUE 索引。

参考文献不满足此要求role(name).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么不能从一个表中删除引用另一个表 的相关文章

  • 使用 Union 或 Join - 哪个更快 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我只是想知道你是否有一张桌子并且联合起来会比使用联接更有效吗 我确实知道联接创建了更多列 但这更具理论性 联合是否需要像联接那样对另一
  • 在android中将SQLite数据库导出到csv文件

    我正在尝试将 SQLite 数据作为目录中的 CSV 文件导出到 Android 中的 SD 卡 所以我尝试了下面的方法 显然它只显示打印出来的文本 数据库的第一个表日期 项目 金额 货币 在我的 DBHelper java 中 我定义了该
  • “django.core.exceptions.ValidationError”错误

    我正在 Django 中编写一个简单的游戏 所有的事情都是正确的 但是突然 我遇到了以下错误 Django v 1 7 Python v 3 4 我不知道这些代码有什么问题 test alireza alireza test test1 p
  • MySQL 将所有空格替换为 -

    我怎样才能删除一行中的所有空格 我在这里看到很多相同的问题 但所有答案都使用替换选项 替换只能去除一个空格 而不是全部 例如 a b c 变为 a b c Thanks 这可以通过以下 MySQL 函数来实现 SELECT REPLACE
  • 如何创建针对不同渠道不同的数据库序列?

    我们有一个要求 即需要为不同的渠道维护不同的数据库序列 例如 ABC SQN1 XYZ 1 序列号需要根据通道递增 有没有办法我们可以实现它 Thanks 你的问题不清楚 请更详细地描述要求 我知道你想要一些序列并有条件地增加它们 这样 c
  • 在sql中运行累积返回

    希望获得一系列每日收益的连续累积收益 我知道这可以使用 exp 和 sum 来解决 但我的返回序列不是使用 LN 计算的 希望在不使用循环的情况下解决这个问题 因为它们在 sql 中效率非常低 让它跑得快很重要 Dataset 期望的结果
  • 哪个 SQL 语句更快? (有与在哪里......)

    SELECT NR DZIALU COUNT NR DZIALU AS LICZ PRAC DZIALU FROM PRACOWNICY GROUP BY NR DZIALU HAVING NR DZIALU 30 or SELECT NR
  • Python postgreSQL sqlalchemy 查询 DATERANGE 列

    我有一个预订系统 并将预订日期范围保存在 日期范围 列中 booked date Column DATERANGE nullable False 我已经知道我可以通过以下方式访问实际日期booked date lower or booked
  • 如何使用 SQL 语法更改主键约束?

    我有一个表 其主键约束中缺少一列 我不想通过 SQL Server 对其进行编辑 而是想将其放入脚本中以将其添加为更新脚本的一部分 我可以使用什么语法来执行此操作 我必须删除并重新创建关键约束吗 是的 唯一的方法是使用 Alter 表删除约
  • 案例与解码

    参考之前的一篇question https stackoverflow com questions 3193384 display sql custom text from table column result 我想知道是否总是可以更换D
  • 在 CodeIgniter、SQL 中调用布尔值的成员函数 result()

    我试图根据搜索关键字查看 data results 中有哪些数据 但每次都会出现上述致命错误 有人可以帮助我吗 我的控制器 public function execute search search term this gt input g
  • 数据流任务的 Foreach 循环容器

    我想从 Oracle DB 导入近 1200 万条记录 但由于 SSIS 内存缓冲区问题 我需要每年迭代我的数据流任务 即 2005 年到 2012 年 7 次 我如何使用 foreach 我的 oracle 查询来获取每年的数据 Quer
  • End using 是否关闭打开的 SQL 连接

    如果我将 SQLConnection 包装在 using 中 我应该关闭它还是最终 using 处理它 using cn as new system data sqlclient sqlconnection cn open do a bun
  • 如何在Android中访问Sqlite数据库?

    我可以在模拟器中使用 adb shell 命令访问我的 sqlite 数据库 但无法对我的 HTC Desire 手机执行相同操作 它会抛出一些权限被拒绝的消息 是否有可能访问这些数据库以进行调试 任何想法 提前致谢 您还可以在命令提示符
  • TFS 2017 如何使用 SQL 查询工作项

    我正在寻找一种使用 SQL 选择直接从 TFS 的 SQL 数据库查询工作项的方法 对于 TFS 2010 您可以使用一些数据库视图来实现此目标 TFS2010 如何在关系仓库上使用 SQL 查询工作项 https blogs msdn m
  • 如何在 Django 项目上访问 SQLite 的 db shell?

    我正在尝试更新变量上的列以允许 db shell 中为 null 这样我就不必删除我的表 我有通知数据 sqlite位于主文件夹中并且sqlite3 db位于 主应用程序 子文件夹中 这是为什么 我想访问哪一个 我知道它们是 2 个不同的文
  • 通过sql视图向多个表插入数据

    mysql 有没有办法通过视图向多个表插入数据 MySQL 参考手册对于可更新视图是这样说的 一些视图是可更新的 也就是说 您可以在诸如以下的语句中使用它们UPDATE DELETE or INSERT更新基础表的内容 为了使视图可更新 必
  • Oracle TO_DATE 函数中跳过字符

    我正在导入 tsv 中具有 SQL Server 格式日期的数据 yyyy mm dd hh24 mi ss mmm 使用 SQL Developer 的导入数据向导导入 Oracle 数据库 我怎样才能忽略 mmm用于将它们导入 DATE
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1

随机推荐

  • 裸机 RISC-V CPU - 处理器如何知道从哪个地址开始获取指令?

    我正在设计自己的 RISC V CPU 并且已经能够实现一些指令代码 我已经安装了 RV32I 版本的 GCC 编译器 所以我现在有了汇编器riscv32 unknown elf as可用的 我正在尝试仅用一条指令来汇编一个程序 simpl
  • 尝试理解异步操作子类

    我正在尝试开始使用Operation在一个副项目中 而不是在我的网络代码中散布基于闭包的回调 以帮助消除嵌套调用 所以我在读一些关于这个主题的书 然后我发现this https gist github com calebd 93fa3473
  • 在每个应用程序的事件循环迭代上执行槽

    如何在应用程序事件循环的每次迭代中调用我的槽 我知道的唯一方法是使用 QTimer 并且在每次超时 每毫秒 信号时我可以调用我的插槽 但我不喜欢这个选项 它看起来像是解决方法 有什么建议如何更正确地做到这一点 来自 Qt 4 7 QCore
  • META“过期”标签

    因此 使用 FF 中的 pagespeed 我能够找到一些关于如何减少页面加载时间的区域 其中提到的部分使用 META 过期 标签 它列出了我的所有 CSS 和 JS 文件以及 IMG 文件 现在 如果我只是将此标记合并到我网站的主页 in
  • Java - “\n”是什么意思? [复制]

    这个问题在这里已经有答案了 我用 Java 创建了一个二维数组 我正在寻找一种在控制台上打印它的方法 以便我可以确认我正在制作的东西是正确的 我在网上找到了一些为我执行此任务的代码 但我对代码的特定部分的含义有疑问 int n 10 int
  • 在 ClearCase 中手动撤消交付

    我目前在 ClearCase 中从子流到父级的传输被提升 如果我尝试撤消交付 它会告诉我不能 因为 集成活动已签入 或 签入版本 如果我尝试恢复交付 它会说尝试签出或合并元素时遇到错误 但没有具体告诉我是哪一个 所以我正在寻找一种方法 手动
  • Ping google 关于分页站点地图 django

    I have sitemap xml有 150k 行 我正在使用分页 所以有sitemap xml p 1 sitemap xml p 2 etc 我应该如何使用 Django 向 Google 告知这些页面 或者谷歌会发现sitemap
  • 删除常规数组的元素

    我有一个 Foo 对象数组 如何删除数组的第二个元素 我需要类似的东西RemoveAt 但对于常规数组 如果您不想使用列表 var foos new List
  • 在Python中使用正则表达式解析PDF文件

    我正在尝试使用 Python 的 re 模块解析 PDF 文件中的一些对象元素 我的目标是使用正则表达式解析每个 PDF 对象 PDF 对象示例如下 1 0 obj lt lt Type Catalog Pages 2 0 R gt gt
  • Java char 数组转int

    是否可以转换char 包含数字的数组 一个int 是否char 包含组成数字数字的 unicode 字符 在这种情况下 只需从char 并使用 Integer parseInt char digits 1 2 3 int number In
  • 如何在android中使用volley下载视频文件?

    我想使用 volley 库下载视频 我正在使用 volley 库来处理应用程序中的所有网络调用 首先 我们需要创建一个扩展 Volley Request 类的自定义类 要下载文件数据 我们可以创建自定义字节数组请求 该字节数组可以转换为输入
  • 模板类的编译时计数器

    想象一下 您有很多带有很多不同模板参数的类 每个类都有一个方法static void f 你想将所有这些函数指针收集到一个列表 L 中 运行时解决方案很简单 typedef void p std vector p L int reg p x
  • AnTLR4 C# 中的解析树

    我目前正在使用针对 C 的 AnTLR4 创建语法 但在开发访问者时遇到问题 我找不到书中提到的 ParseTree 类 书中我们有 LabeledExprLexer lexer new LabeledExprLexer input Com
  • 只读 mutableStateListOf

    在 Jetpack Compose 中 如果我有MutableState变量 我可以将其状态公开为 只读 对其他类的价值为State
  • currentsessioncontext流畅nhibernate怎么办呢?

    我正在尝试根据请求使用流利的会话 我正在遵循 nhibernate 食谱中的 食谱 但它使用 nhibernate 配置文件 我不确定什么更好 但现在我坚持使用流畅的配置 只是因为我不知道如何设置 nhibernate 配置文件以使用流畅的
  • “gcloud app log tail”显示一周前的数据

    我正在尝试流式传输我的 Google Cloud Platform 应用程序的日志 我注意到的第一件事是 Google 每秒至少发送大约 10 次健康检查 所以我必须grep v health以获得任何有用的信息 这是标准吗 第二件事是它传
  • ASP.NET MVC 4 用户身份验证

    我正在尝试编写一个 Login 方法 对用户进行身份验证并授权他们进入使用 ASP NET MVC 4 开发的网站 问题是 尽管我在 Login 方法内验证用户并重定向到 ViewProfile 操作后调用 FormsAuthenticat
  • 使用 getline 跳过空格

    我正在编写一个程序来制作问题表格 这些问题被保存到一个文件中 我想读取它们并将它们存储在内存中 我为此使用向量 我的问题有以下形式 1 TEXT What is your name 2 CHOICE Are you ready for th
  • jQuery Isotope - 多个过滤器的问题

    我尝试在使用 Isotope js 的类似投资组合的页面中使用多个过滤器 请看一下这个页面 http decart design com avancia wp vi tilbyr http decart design com avancia
  • 为什么不能从一个表中删除引用另一个表

    我一直在寻找答案 但也许我错过了一些东西 我有 2 个表 如下所示 第一个表中的实体是从第二个表中引用的 但是当我尝试从第二个表中删除时 我得到Error foreign key mismatch 有触发器 此处未显示 但它们与DELETE