gpt4 book ai didi

ios - SQLite - 外键约束 - IOs 5

转载 作者:IT王子 更新时间:2023-10-29 06:22:09 24 4
gpt4 key购买 nike

SQLite 似乎从 3.6.x 版本开始支持外键约束。 IOS5.0上SQLite的版本是3.7.7(在sqlite3.h中找到)。

但是当我尝试在具有约束的表中插入一行时,即使相关的外键不存在,我的行也会正确插入。我没有错误。

使用 Navicat 等应用程序执行相同的插入语句会出现“约束违规错误”

你知道 IOs 5 是否支持外键吗?

这是数据库架构:

CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
)

CREATE TABLE "track" (
"trackid" INTEGER PRIMARY KEY AUTOINCREMENT,
"trackname" TEXT,
"trackartist" INTEGER,
CONSTRAINT "trackartist" FOREIGN KEY ("trackartist") REFERENCES "artist" ("artistid") ON DELETE CASCADE ON UPDATE CASCADE)

真的很简单,不是吗?

谢谢伊曼纽尔

最佳答案

默认情况下禁用外键。您必须为每个连接分别启用它们。该设置不是“粘性”的。每次连接到 SQLite 数据库时都必须执行此操作。

PRAGMA foreign_keys = ON;

很有可能 Navicat 会为你处理这些事情。在您自己的代码中,这是您的工作。

关于ios - SQLite - 外键约束 - IOs 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com