Mysql:根据另一列自动增加一列

时间:2016-09-13 02:47:24

标签: mysql

请帮我解决mysql中的问题。 如果其中一列具有相同的值,如何将自动增量更改为不同的值。例如

在表格中插入新值时。如果 x_id为1 ,那么我的 ID为1 ,依此类推。如果 x_id为2 ,则我的ID为1 ..( ID为自动增量。

这是我的预期结果。

enter image description here

抱歉我的英语不好。 谢谢。 :)

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您想要计算x_id。如果是这样,您需要一个指定行的排序的列。

然后,一种方法是使用相关子查询:

select t.id,
       (select count(*) from t t2 where t2.id = t.id and t2.?? <= t.??) as x_id
from t;

??用于指定排序的列。

答案 1 :(得分:0)

autoincrement值主要用于MySQL中的主键。由于您无法在id列上添加PK(由于重复值),因此只表示您正在做一些非常错误的事情。

当然,你总能拿出一些函数来返回预期值,但我个人不打扰。在发明这种不常见的东西之前重新考虑你的设计。

即。如果这些对象不应该共享相同的主键,那么为什么它们存储在同一个表中呢?