0

我有两个名为xand的表y

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

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

提前致谢。

4

1 回答 1

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));
于 2012-09-08T19:46:24.487 回答