我有一个access数据库,我正在尝试创建。我想使用表中的两列来创建主键。

Projectbl (ProjectID, ProjectRegion, other columns)

我希望ProjectID自动递增。没关系。到目前为止,每当我添加一个新项目时,ProjecID都会自动递增。
我想在同一个表中创建一个新列,它将是ProjectRef,其中新的数字将是ProjectIDProjectRegion的组合。
例如
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,那么只需从您拥有的列中计算它。

10-08 04:04