【发布时间】:2013-04-05 05:10:01
【问题描述】:
在阅读 w3schools 上有关 SQL 主键的文章时,我阅读了以下内容:
每个表都应该有一个主键,每个表只能有一个主键。
http://www.w3schools.com/sql/sql_primarykey.asp
但我有这个 SQL 文件,用于制作我运行和工作的表:
CREATE TABLE accessLog (
memberId SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
pageUrl VARCHAR(255) NOT NULL,
numVisits MEDIUMINT NOT NULL,
lastAccess TIMESTAMP NOT NULL,
PRIMARY KEY (memberId, pageUrl)
);
现在根据上面的主键引用,代码行:“PRIMARY KEY(memberId, pageUrl)”应该不起作用。
关于如何在表中拥有多个主键的任何帮助。注意:我已经知道“UNIQUE”、“UNIQUE KEY”语句。
【问题讨论】:
-
这可能会让你感兴趣:stackoverflow.com/questions/11586986/…
-
您只能有 ONE 主键 - 但 ONE 主键可以由多列组成。规则是:一旦定义了主键(基于单个或多个列),就不能再向同一个表添加另一个主键定义。
标签: sql primary-key