Android - 具有唯一和外键约束的Sqlite Query

时间:2012-09-08 11:24:57

标签: android sqlite

我有两个名为xy的表。

x表有两列,分别为_idname

_id将成为主键,name将成为唯一约束。

我不熟悉sqlite查询。查询应该这样写吗?

 CREATE TABLE IF NOT EXISTS x (
    _id integer primary key autoincrement, 
    name text, 
    unique(name));

y表有三列_idxidaddress

_id将是主键,xid将是外键,address将是唯一的键约束。

CREATE TABLE IF NOT EXISTS y (
    _id integer primary key autoincrement, 
    address text, 
    xid references x(_id), 
    unique(address));

如果我遗失或没有正确定义任何内容,请纠正我。

提前致谢。

1 个答案:

答案 0 :(得分:2)

你的命令是正确的。

通过使用列约束而不是表约束,可以使约束更清晰:

CREATE TABLE IF NOT EXISTS x (
    _id integer primary key autoincrement, 
    name text unique);
CREATE TABLE IF NOT EXISTS y (
    _id integer primary key autoincrement, 
    address text unique,
    xid references x(_id));