【发布时间】:2021-06-16 14:54:17
【问题描述】:
CREATE TABLE TableA(
id int auto_increment unique,
user_id INTEGER,
content_id VARCHAR(10),
points INTEGER,
content_type INTEGER,
description VARCHAR(100),
created_date DATETIME,
PRIMARY KEY(user_id, content_id, content_type)
)
我创建了 TableA,但问题是当我将记录插入 TableA 时,遇到了 id Auto_increment 问题,
在下表中首先,我添加了一个唯一的对然后 id=1
在第二次尝试添加相同的记录之后,它会抛出 user_id、content_id 和 content_type 组合的错误 BCS 是唯一的,我认为它工作正常
第三次,我以不同的方式添加它然后将它添加到桌子上但是 ID = 3,我的问题是为什么 ID 丢失以及如何修复它,任何人都可以帮助我,请
:id user_id, content_id, points, content_type, description, created_date:
1 1 1a1 5 1 null 2021-02-26 08:26:54
3 1 1a1 5 2 null 2021-02-26 08:26:56
5 1 1a2 5 1 null 2021-02-26 08:26:54
6 1 1a3 5 2 null 2021-02-26 08:26:56
我想将记录插入到没有缺少 ID 号订单的表中,如下所示
:id user_id, content_id, points, content_type, description, created_date:
1 1 1a1 5 1 null 2021-02-26 08:26:54
2 1 1a1 5 2 null 2021-02-26 08:26:56
3 1 1a2 5 1 null 2021-02-26 08:26:54
4 1 1a3 5 2 null 2021-02-26 08:26:56
【问题讨论】:
-
这是常态,不用担心。如果您需要没有间隙的枚举,请为此目的使用附加列并以编程方式分配它,或在查询中枚举。
-
@Akina,感谢您的宝贵时间,您能否通过在查询中枚举来提供有关如何使用附加列编写它的建议
-
是否可以同时插入行(同时从 2 个不同的源/应用程序)?是否可以从此表中删除行?
-
在复合材料上贴上唯一的替代品和主要产品有点奇怪;通常情况正好相反。
标签: mysql sql unique-constraint composite-primary-key unique-key