SQL中数据库的主键

时间:2018-11-05 19:27:47

标签: mysql sql

家伙,我被要求为产品表进行设计

产品代码(PK)---------- varchar2(5)

product_name --------------- varchar2(15)

product_type --------------- varchar2(1)

但是我想使ID自动增量列成为主键,并且可以在任何CRUD操作中访问..我可以在存在主键product_code的情况下做到这一点吗?或者ID列在这里无用??

3 个答案:

答案 0 :(得分:2)

product_id作为主键作为auto_increment列。

然后可以将product_code定义为uniquenot null

外键关系应使用product_id列。

答案 1 :(得分:0)

如果已收到要求说明您的主键应为名为product_code的varchar2(5)的要求,我建议遵循这些要求,但我认为没有实际理由提出反对。

您知道此表中将存在多少条记录,您是否有理由相信所提供的要求会带来问题?如果是这样,请记录下您的问题并要求澄清,但您似乎是承包商,因此我请客户。

答案 2 :(得分:0)

只有主键可以在MySQL中自动生成。

使用自动生成的新ID列创建表,并使现有的PRODUCT_CODE列唯一,如下所示:

create table product (
  id int primary key not null auto_increment,
  product_code varchar(5) not null,
  product_name varchar(15) not null,
  product_type varchar(1),
  constraint uq_code unique (product_code)
);