产品代码(PK)---------- varchar2(5)
product_name --------------- varchar2(15)
product_type --------------- varchar2(1)
但是我想使ID自动增量列成为主键,并且可以在任何CRUD操作中访问..我可以在存在主键product_code的情况下做到这一点吗?或者ID列在这里无用??
答案 0 :(得分:2)
将product_id
作为主键作为auto_increment
列。
然后可以将product_code
定义为unique
和not 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)
);