我喜欢为表设置内部自动递增计数器,它使用myisam和复合主键-但只针对特定的pk组合。如果我使用
ALTER TABLE tablename AUTO_INCREMENT = 1;
它将为所有复合pk组合设置内部计数器,这是我不想要的。
我需要这样的东西
ALTER TABLE tablename AUTO_INCREMENT = 1 WHERE prefix = 5 AND suffix = X;
这样不行。有没有可能改变myisam表中特定pk组合的唯一计数器?
表格:
CREATE TABLE `ENG__faktury_counter`
(
`year` int(10) NOT NULL,
`prefix` varchar(10) NOT NULL,
`DIC` varchar(50) NOT NULL,
`id_counter` int(15) NOT NULL AUTO_INCREMENT ,
`created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`year`,`prefix`,`DIC`,`id_counter`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1条答案
按热度按时间lvmkulzt1#
几乎没有使用
ALTER TABLE ... AUTO_INCREMENT=...
.如果你正在使用myisam
那就没什么好做的了
不管插入行的顺序如何。
如果这还不能解决你的问题,请举例说明
SHOW CREATE TABLE
.