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