对于新手的问题,很抱歉。
我使用SQLite数据库浏览器创建了我的表,但是:
我不知道如何使用application?
发布于 2016-12-01 20:42:08
我知道这个问题很久以前就被问过了,但我找到了。它直接内置于GUI中。您只需拖动并使这些名称、类型选项卡小一点,即可为外键选项卡腾出空间。将鼠标指针放在末尾,然后拖动标题。
我的SQLite浏览器版本是3.7.0。
发布于 2013-11-17 20:31:26
我找不到使用“数据库结构”选项卡定义外键约束的方法。我强烈建议使用脚本来定义表定义和约束,而不是使用图形化编辑器来构建它们-这使得创建新数据库和跟踪对模式的更改变得更加容易。
举个例子,假设我们有两个表:一个定义文件名,另一个指定压缩方法,我们可以在定义file_definition表时给它添加一个外键约束。
CREATE TABLE [compression_state] (
[compression_state_id] INTEGER PRIMARY KEY NOT NULL,
[value] TEXT NOT NULL
);
CREATE TABLE [file_definition] (
[file_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[compression_state_id] INTEGER NOT NULL,
[name] TEXT NOT NULL,
FOREIGN KEY(compression_state_id) REFERENCES compression_state(compression_state_id)
);
但是,默认情况下,SQLite不会强制执行约束,因此每次连接到数据库时,都必须发出以下命令来启用约束检查。
PRAGMA foreign_keys = ON;
有关更多详细信息,请参阅documentation。
如果表已经存在,而您不想构建一个完整的脚本,那么您就不走运了,一旦生成了表,SQLite就不支持添加外键,请参见此处:SQL Features That SQLite Does Not Implement
发布于 2016-02-11 19:10:05
从SQLite文档中:
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER -- Must map to an artist.artistid!
);
最后:
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER,
FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);
在SQLite环境的DB浏览器(v3.8.0-SQLitev3.9.2)中,当您添加track
表的DB字段以及PK、AI和其他列时,您可以找到一个外键列。
在这里,对于本例,您只需在trackartist
行中添加artist(artistid)
。
然后创建外键约束。
https://stackoverflow.com/questions/16537154
复制相似问题