2012-09-08 81 views
0

我有两个名为xy的表。Android - 具有唯一键和外键约束的Sqlite查询

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)); 

如果我失踪或没有正确定义任何东西,请纠正我。

在此先感谢。

+0

我看了你的问题了几次,我不能工作了,你是问。你可能会更具体地询问你在问什么? – 2012-09-08 16:25:46

+0

你试过了吗?或尝试查看一个SQLite语言参考? – Kevin

回答

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));