为什么外键在 websql 中不起作用..?

2024-04-01

我尝试使用 web sql 在我的应用程序中使用外键..我在 chrome 中测试它..没有错误..但是当我测试手动插入表 img (包含 FK)
我预计会失败..但插入仍然成功..这是我的代码..请帮助我..

tx.executeSql("PRAGMA foreign_keys = ON;");    
tx.executeSql("CREATE TABLE IF NOT EXISTS img (ID INTEGER PRIMARY KEY ASC,imgID VARCHAR, image VARCHAR,  FOREIGN  KEY (imgID) REFERENCES trans (ID) )", []);

在这种情况下,我尝试使用 FK 方法来保存我的图像名称数据并连接到 trans 表。

我的插入代码

tx.executeSql("insert into img (imgID,image) values ('100','23.jpg')");

Is the INSERT在相同的数据库连接上执行CREATE?因为PRAGMA foreign_keys = ON仅对连接有效。必须为您打开的每个连接执行它。

另外,请确保在未处于事务中时运行该 PRAGMA 语句,因为那不会有任何影响 http://www.sqlite.org/pragma.html#pragma_foreign_keys。您的示例代码开头为tx.表明这就是您的问题的原因。

UPDATE正如评论中指出的史密斯先生 https://stackoverflow.com/users/813951/mister-smith,基于 Chromium 的浏览器的扩展无论如何都无法在事务之外运行 SQL 语句,因此不可能执行外键。

因此,您必须确保您的外键在应用程序代码中保持完整性,或者您可以编写触发器强制执行外键 http://www.justatheory.com/computers/databases/sqlite/foreign_key_triggers.html(如果 Chromium 扩展允许触发器,那就是)。

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

为什么外键在 websql 中不起作用..? 的相关文章

随机推荐

  • WidgetKit @StateObject 不更新视图

    我无法理解如何让我的SwiftUI数据模型示例与我的小部件一起使用 它在我的测试应用程序中运行得很好 我立即观察到变化 当我尝试使用小部件时 我可以看到控制台中打印的数据 但我的中没有发生任何变化View in WidgetKit 我正在使
  • 错误:列表类型不带参数

    尽管它与示例中使用的完全相同 但我收到以下错误 错误 列表类型不带参数 List
  • NODEJS writeStream 错误

    var http require http var fs require fs createWriteStream file1 http createServer function req res This opens up the wri
  • 批量获取消息性能

    我需要获取收件箱中的最后 100 条消息 仅限标题 为此 我目前正在使用 IMAP 扩展来搜索并获取消息 这是通过两个请求完成的 SEARCH进而UID FETCH Gmail API 相当于在一个请求中获取多封邮件的功能是什么 我能找到的
  • 为什么 SDWebImage 加载后在单元格中不显示图像?

    我正在使用 SDWebImage 在我的表格中 每一行都有图像和标签 如您所见 图像看不到 但是当我返回父视图控制器并再次来到这里时 它们就会显示出来 我正在使用的代码是 cell imageView setImageWithURL NSU
  • 如何自动连续垂直滚动div内容

    我需要垂直滚动包含图像的 div 任何帮助或参考将不胜感激 Maybe 像这样的东西 http jsfiddle net 9qC9E 8 有助于 第一张和最后一张图像应该是相同的 JS function var box document g
  • Django REST Framework,PUT/POST 序列化程序数据消失

    当我尝试更新或发布新实例时 我遇到部分数据消失的问题 有了这样的数据 data item Product station Workbench ingredients item ing1 amount 2 item ing2 amount 1
  • auth-hmac功能测试问题

    我想在我的 api 应用程序中使用这个 gemhttps github com seangeo auth hmac https github com seangeo auth hmac 我有一个关于创建请求身份验证测试的问题 我想用 hma
  • React 中的 ForwardRefExoticComponent 和 ForwardRefRenderFunction 有什么区别?

    我正在编写一个 React 组件 它可以将引用转发给它的子组件 我发现对于函数组件的返回类型 我可以使用ForwardRefExotic组件 and 前向参考渲染函数 但我不确定它们之间有什么区别 到目前为止 使用时ForwardRefEx
  • 如何创建布局并在 tmux 启动时运行命令?

    我正在尝试编写一个可以运行 源的脚本 以便 tmux 设置特定的布局并运行命令 我有一些结果 这是我到目前为止所写的内容 selectp t 1 splitw v p 15 splitw h p 50 selectp t 1 send ke
  • Cocoa Swift,获取/设置文件和目录上的隐藏(可见/不可见)标志

    我想测试文件系统上的文件或目录是否具有特定标志 在本例中为 隐藏 标志 然后设置或删除它 我知道这可以通过命令行实现 但我想知道是否可以使用 Cocoa Swift 来做到这一点 我尝试使用NSFileManager attributesO
  • LLVM 执行哪些优化?

    我想具体了解一下LLVM的各个优化级别分别对应什么 也就是说 我想知道当我使用 llvm 或 clang 或 opt 的 0x 选项时 哪些优化过程是准确执行的 在前端之外 以及按什么顺序执行 相应工具的 man 没有提供关于此事的太多信息
  • 如何在另一个元素之后添加一个元素?

    我有一个特定的文本框 我想在它后面添加一个 div 我已经尝试过 append 函数 但这只会在元素中添加 div 例如 我有
  • 编程语言中的 for 循环 VS while 循环,c++/java?

    哪个对性能更好 这可能与其他编程语言不一致 因此如果它们不同 或者您可以用特定语言的知识回答我的问题 请解释一下 我将使用 c 作为示例 但我想知道它在 java c 或任何其他主流语言中如何工作 int x 0 while x lt 10
  • 如何读取(图像数据/尺寸/文件大小/名称)文件选择上的多个图像?

    我多次获得同一张图像 document getElementById getFile addEventListener change getFiles function getFiles ev var file ev target file
  • Django:FILE_UPLOAD_MAX_MEMORY 与 DATA_UPLOAD_MAX_MEMORY

    我正在使用 Django 2 2 并陷入了文件上传大小验证的困境 我已阅读 django 文档 DATA UPLOAD MAX MEMORY SIZE https docs djangoproject com en 2 2 ref sett
  • 使用套件时的 JUnit 4 @BeforeClass 和 @AfterClass

    使用下面的这种方法时 通过使用 Suites 设置 jUnit 当每个 Testclass 中的所有 BeforeClass 将在任何测试开始执行之前执行时 我们就会遇到问题 对于每个n个TestClass文件 BeforeClass运行
  • 微信、whatsapp 和其他通讯应用程序背后的技术是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我渴望了解不同实时通讯应用程序的架构 他们使用任何通用协议 架构吗 Facebook斥资190亿美元收购的WhatsApp架构 htt
  • Eclipse RCP 多线程

    我有一个 eclipse rcp 应用程序 当这个命令执行时我有一个命令 我需要启动一个线程 执行该线程后 必须更新 GUI 但我认为该线程或其他非 SWT 线程无法更新 GUI 但似乎也有道理 当我尝试这样做时 我得到了Exception
  • 为什么外键在 websql 中不起作用..?

    我尝试使用 web sql 在我的应用程序中使用外键 我在 chrome 中测试它 没有错误 但是当我测试手动插入表 img 包含 FK 我预计会失败 但插入仍然成功 这是我的代码 请帮助我 tx executeSql PRAGMA for