Max*_*ich 13 sqlite google-gears
为什么SQLite没有强制执行以下外键约束(尽管执行正常)?我该如何处理强制关系?
CREATE TABLE User (
UserID TEXT Unique NOT NULL PRIMARY KEY,
FirstName TEXT NOT NULL,
LastName TEXT NOT NULL,
Username TEXT NOT NULL,
Password TEXT NOT NULL,
Email TEXT NOT NULL,
SignupDate TEXT NOT NULL
)
CREATE TABLE Category (
CategoryID TEXT Unique NOT NULL PRIMARY KEY,
UserID TEXT,
FOREIGN KEY(UserID) REFERENCES User(UserID)
)
Run Code Online (Sandbox Code Playgroud)
您还可以通过嵌入连接字符串来打开外键支持:
foreign keys=True
Run Code Online (Sandbox Code Playgroud)
例子:
"Data Source={DatabaseFullFilePath};Version=3;foreign keys=True;datetimeformat=CurrentCulture"
Run Code Online (Sandbox Code Playgroud)