gpt4 book ai didi

mysql - 如何重置特定复合键(MyISAM)的AUTO_INCRMENT?

转载 作者:行者123 更新时间:2023-11-29 16:28:34 25 4
gpt4 key购买 nike

我喜欢为表设置内部 AUTO_INCRMENT 计数器,它使用 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

最佳答案

ALTER TABLE ... AUTO_INCRMENT=... 的使用率几乎为零

如果您正在使用 MyISAM 并拥有

foo ...
id ... AUTO_INCREMENT
PRIMARY KEY(foo, id) -- where the _2nd_ column is auto-inc

那就没什么可做的了

foo  id
--- --
cat 1
cat 2
dog 1
bird 1
cat 3
bird 2
bird 3
dog 2

无论插入行的顺序如何。

如果这不能解决您的问题,请通过示例和SHOW CREATE TABLE来增强它。

关于mysql - 如何重置特定复合键(MyISAM)的AUTO_INCRMENT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com