0

我正在尝试建立一个 MySQL 数据库来存储生物数据。我必须从文件中提取这些数据,并且我有一个 perl 脚本。我遇到的问题是我需要三个主键才能使它们唯一,并且我希望其中一个是自动增量整数。但是,我希望每次前两个键的组合发生变化时都会重置自动递增的值。

sequence1 | hit1      | 1
sequence1 | hit1      | 2
sequence1 | hit2      | 1
sequence2 | something | 1
sequence2 | something | 2
sequence2 | something | 3
sequence3 | something | 1

等等等等

这是可能的还是我必须直接在脚本中实现它?

谢谢你

4

1 回答 1

0

这仅适用于 MyISAM 表,不适用于 InnoDB 或 MySQL 具有的任何其他存储引擎。

只需在 (col1, col2, id) 上创建一个主键并在 id 列上设置 auto_increment 标志。并确保仅对 id 没有唯一约束。MyISAM 将为每个唯一的 (col1, col2) 对生成一个新的值序列。

于 2012-04-13T12:57:32.230 回答