gpt4 book ai didi

mysql - MYSQL 可以根据列输入值跟踪多个自动增量吗?

转载 作者:行者123 更新时间:2023-11-29 02:12:33 26 4
gpt4 key购买 nike

我有一个表,其中包含名为 post_id 的基本自动增量。我还有其他列,tag_idtag_name

目前,每当我插入这个表时,post_id 都会自动递增。但我还想做的也是根据 tag_name 是什么自动增加 tag_id 。例如,如果 tag_name 是“A”,则 tag_id 应该是 1。接下来插入,tag_name 是“A” tag_id 是2。但是,下一次插入时,tag_name 是“B”,tag_id 现在是 1。等等等等

最佳答案

MyISAM 和 InnoDB 都只支持一张表自增。

由于竞争条件,在支持并发更新的存储引擎中无法管理任何按组自动递增的功能。

MyISAM 支持 auto-increment as a secondary column of a key , 因此它为同一键的第一列中的每个值独立编号。但这仍然对您不起作用,因为 MyISAM 不支持每个表两个自动列。

mysql> create table MyTable (
-> post_id int auto_increment primary key,
-> tag_name varchar(10),
-> tag_id int auto_increment,
-> unique key (tag_name, tag_id)
-> ) engine=myisam;
ERROR 1075 (42000): Incorrect table definition; there can be only one
auto column and it must be defined as a key

您必须手动为您的 tag_id 编号。这意味着您不能支持对此表的并发更新。

IMO,你应该重新考虑你正在尝试做什么。

关于mysql - MYSQL 可以根据列输入值跟踪多个自动增量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847479/

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