如何在MYSQL中设置具有自动增量的主键

时间:2018-04-25 10:17:27

标签: mysql

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

我需要将自动增量的另一个键添加到上面的表结构

2 个答案:

答案 0 :(得分:0)

你的问题有点令人困惑。你说你想要添加第二个主键,它将自动增加...这没有意义。出于某种原因,它们被称为PRIMARY键。桌面上只有一个主键,因为它是键。

我认为你想要做的是拥有一个自动增量ID作为PK,你可以像创建Arshad一样包含在你的创建表中。

此时,您要做的是使用自动增量ID作为主键(与PK相同,但只在PK中放置新ID,而不是其他字段。) ,您将需要使用唯一索引来确保(yearrvolumeissuepagefromtopissn)的组合不会;重复。

请参阅this document以获取有关索引创建的更多信息

请注意,如果您的表已经创建,那么您必须先删除旧的主键,然后才能将其添加到ID上。

答案 1 :(得分:-1)

您可以使用此查询。这将创建具有“id”的表作为AutoIncrement和主键

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