sql中db的主键

xv8emn3q  于 2021-06-18  发布在  Mysql
关注(0)|答案(5)|浏览(269)

伙计们,我被要求做这样的产品表设计

产品代码(pk)----varchar2(5)
产品名称

e5nqia27

e5nqia271#

------varchar2(1)
但我想让一个id自动递增列成为主键,并在任何crud操作中访问它。。我能在主键产品代码存在的情况下这样做吗?。。。或者id列在这里没用??

qxsslcnc

qxsslcnc2#

如果您得到的要求表明您的主键应该是一个称为产品代码的varchar2(5)。我建议遵循这些要求,我看没有实际理由反对。
你知道这个表中有多少条记录吗?你有理由相信所提供的要求会引起问题吗?如果是这样,请记录您的问题并要求澄清,但您似乎是一个承包商,我会听从客户的意见。

h5qlskok

h5qlskok3#

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)
);
bq3bfh9z

bq3bfh9z4#

------varchar2(15)
产品类型

xxls0lw8

xxls0lw85#

使 product_id 主键作为 auto_increment 列。
然后你可以定义 product_code 作为 unique 以及 not null .
外键关系应使用 product_id 列。

相关问题