我有一个access数据库,我正在尝试创建。我想使用表中的两列来创建主键。
Projectbl (ProjectID, ProjectRegion, other columns)
我希望
ProjectID
自动递增。没关系。到目前为止,每当我添加一个新项目时,ProjecID
都会自动递增。我想在同一个表中创建一个新列,它将是
ProjectRef
,其中新的数字将是ProjectID
和ProjectRegion
的组合。例如
ProjectID ProjectRegion OtherCol
---------------------------------
1 500 ...
2 100 ...
3 200 ...
4 500 ...
5 500 ...
6 100 ...
我想让桌子看起来像那样
ProjectRef ProjectID ProjectRegion OtherCol
--------------------------------------------
5001 1 500 ...
1002 2 100 ...
2003 3 200 ...
5004 4 500 ...
5005 5 500 ...
1006 6 100 ...
所以我试图添加一个新项目:
projectID
将自动增加到7,但是无论ProjectRef
是什么,'ProjectReg'7
都将是ProjectReg
。我知道我可以用
CREATE TABLE 'Projectbl'
(
ProjectID INT(10) NOT NULL AUTO_INCREMENT,
ProjectRegion INT(10) NOT NULL,
other columns VARCHAR(100),
CONSTRAINT ProjectRef
PRIMARY KEY ('ProjectRegion', 'ProjectID')
)
如何在表中实际显示
ProjectRef
? 最佳答案
你根本不应该有ProjectRef
栏。这违反了数据库规范化的基本规则。如果您希望前端显示ProjectRef
,那么只需从您拥有的列中计算它。