请帮我解决mysql中的问题。 如果其中一列具有相同的值,如何将自动增量更改为不同的值。例如
在表格中插入新值时。如果 x_id为1 ,那么我的 ID为1 ,依此类推。如果 x_id为2 ,则我的ID为1 ..( ID为自动增量。)
这是我的预期结果。
抱歉我的英语不好。 谢谢。 :)
答案 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(由于重复值),因此只表示您正在做一些非常错误的事情。
当然,你总能拿出一些函数来返回预期值,但我个人不打扰。在发明这种不常见的东西之前重新考虑你的设计。
即。如果这些对象不应该共享相同的主键,那么为什么它们存储在同一个表中呢?