【发布时间】:2011-04-09 17:25:53
【问题描述】:
我遇到了2个版本的sql代码..
--1
CREATE TABLE Location (
Id INTEGER PRIMARY KEY
NOT NULL,
Name TEXT NOT NULL
);
--2
CREATE TABLE Location (
Id INTEGER PRIMARY KEY
NOT NULL
UNIQUE,
Name TEXT NOT NULL
);
在SQL中,是否需要指定主键唯一且不为空?
我一直认为主键是唯一的,不能为空。
【问题讨论】:
-
不要犹豫,尝试执行代码。
-
第二个语法无效。
Both a PRIMARY KEY and UNIQUE constraint have been defined for column 'Id', table 'Location'. Only one is allowed. -
@Martin。第二条 sql 语句在 sqlite 中运行良好
-
@Maurice - 对不起,我一定错误地认为这是标记为
sql-server(这给出了上面的错误) -
@Maurice:你为什么要问一个关于 TSQL 的问题并检查 SQLite 中的相应代码?
标签: sql primary-key unique-key