SQL通过alter table选项添加复合主键

时间:2009-08-08 16:37:21

标签: sql sqlite

我已经为数据库创建了一个表。

表格如下(我在Mac上使用sqlite for iPhone dev)

create table
(
attendanceDate   varchar,
studentNo        integer,
absentDetail     varchar
);

现在我已经提交了这些陈述。我需要的是以下内容:

  • 添加复合主键(attandanceDate,studentNo)
  • 添加外键studentNo

我不知道sqlite3中的alter table语法。

所以,我需要帮助。

提前致谢。

3 个答案:

答案 0 :(得分:3)

SQLITE3没有语法来执行您想要的操作。

来自http://www.sqlite.org/lang_altertable.html

的SQLITE文档
  

SQLite支持有限的子集   更改表。 ALTER TABLE命令   在SQLite中允许用户重命名   表或添加新列到   现有表格。这是不可能的   重命名列,删除列或   添加或删除a的约束   表

您需要使用复合主键和定义的外键重新创建表。

答案 1 :(得分:0)

创建表时,需要创建主键。据我所知,SQLite3不支持外键约束。有关详细信息,请查看this link。我希望这会有所帮助。

答案 2 :(得分:0)

我得到了解决方案,由R& D.

我想,我应该放弃我的桌子和放大器。按照语法

重新创建表

<小时/> 创建表stuAttendance ( attenDate varchar,
stuNo整数,
absentDesc varchar,
主键(attenDate,stuNo)
外键(stuNo)引用stuClass(s​​tuNo)


这将是我所需要的。