mysql中自动递增主键的设置

sh7euo9m  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(413)
CREATE TABLE `journal` (
  `yearr` int(4) NOT NULL,
  `monthh` char(3) NOT NULL,
  `volume` int(4) NOT NULL,
  `issue` int(4) NOT NULL,
  `pagefromto` varchar(10) NOT NULL,
  `pissn` varchar(20) NOT NULL,
  `eissn` varchar(20) DEFAULT NULL,
  `name` varchar(50) NOT NULL,
  `author1` varchar(10) DEFAULT NULL,
  `author2` varchar(10) DEFAULT NULL,
  `doc` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
)

ALTER TABLE `journal`
  ADD PRIMARY KEY (`yearr`,`volume`,`issue`,`pagefromto`,`pissn`);

我需要在上面的表结构中添加另一个具有自动递增功能的键

plicqrtu

plicqrtu1#

您可以使用此查询。这将创建以“id”作为自动增量和主键的表

CREATE TABLE 
      tbl_employee (  
       id int(11) NOT NULL AUTO_INCREMENT,
       employee_id int(4) NOT NULL,  
       employee_no int(6) NOT NULL,
       employee_name varchar(60) NOT NULL,
       department_id int(4) NOT NULL,
       designation_id int(4) NOT NULL,
       hired_date date NOT NULL,
       salary int(10) NOT NULL,
       PRIMARY KEY(id)
    )
yuvru6vn

yuvru6vn2#

你的问题有点令人困惑。你说你想添加第二个主键,它将自动递增。。。这没有道理。它们被称为主键是有原因的。一个表上只有一个主键,因为它是主键。
我认为您需要做的是使用一个自动递增的id作为pk,您可以像arshad answered那样将其包含在create表中。
此时,您要做的是使用自动递增id作为主键(与pk相同,但只将新id放在pk中,而不是其他字段中),并且您要使用唯一索引来确保( yearr , volume , issue , pagefromto , pissn )不会重复。
有关创建索引的详细信息,请参阅此文档
请注意,如果已经创建了表,则必须先删除旧主键,然后才能将其添加到id中。

相关问题