react-native - 删除查询使用 expo-sqlite 从两个表中删除条目
问题描述
我有两个非常简单的表,它们之间没有任何约束:
CREATE TABLE groups (groupId INTEGER PRIMARY KEY AUTOINCREMENT, groupName TEXT)
CREATE TABLE savedRuns (runId INTEGER PRIMARY KEY AUTOINCREMENT, runName TEXT, groupId INT NULL, startTime TEXT, stopTime TEXT, elapsedMilliseconds INT)
每当我从group
表中删除一个条目时,savedRuns
其中具有相同条目的条目groupId
也会被删除。我不要那个!
这是删除查询:
DELETE FROM groups WHERE groupId = 1
我无法理解这种行为,因为两个表之间没有外键约束!
我expo-sqlite
在我的 React Native 应用程序中使用库中的 SQlite。
我的最终目标是启用外键并在表中设置groupId
为,但我认为我应该首先解决第一个问题。null
savedRuns
我什至跑PRAGMA foreign_keys
了,结果是 0
解决方案
上面的所有查询都很好。问题出在我的SELECT
查询中,它没有显示表中没有 a 的groupId
条目groups
。
在我的 SELECT 查询中更改为INNER JOIN
解决了这个问题!LEFT JOIN
推荐阅读
- java - 带有 Gradle 和 Eclipse 的 MapStruct 无法正常工作
- javascript - 如何通过选定的城市谷歌地图 api 获取地址?
- java - 为附近的每个标签调用 MouseEntered 事件
- java - 如何在intellij中重新添加.classpath?
- ios - Swift tableview 单元格选择以更改复选框图像
- reactjs - 在“npm run build”之后,material-ui 和 react 不会重现相同的行为?
- javascript - 如何检测鼠标是否在屏幕的某个部分?
- swift - 枚举的字符串插值产生“unknown()”字符串
- angularjs - 我需要通过页面上特定元素的代码在 Ionic 3 中显示 PopOver
- react-native - 更改片段内容 onPress