MySQL基于字段的自动增量?

MySQL基于字段的自动增量?,mysql,Mysql,是否可以基于特定字段创建自动增量?例如,我有UserId和Status字段,因此对于具有相同UserId的每一行,我需要自动递增其

是否可以基于特定字段创建自动增量?例如,我有
UserId
Status
字段,因此对于具有相同
UserId
的每一行,我需要自动递增
,而不是全局。

阅读您的问题时,我会想到三件事。一个是一个自动递增的字段,它充当您的ID号。使用没有唯一ID号的数据更新表。搜索具有相同
用户ID的字段
状态
Mt第一个示例是创建一个表,并自动递增编号ID:

CREATE TABLE tableNameHere
(
UniqueID int NOT NULL AUTO_INCREMENT,
FirstName varchar(255) NOT NULL,
StatusOrYourColumn int(100) NOT NULL,
PRIMARY KEY (UniqueUD)
)

您可能已经构建了表,现在希望使用
ALTER
来“添加”其他字段和/或修改字段:

ALTER TABLE tableNameHere StatusOrYourColumn INT AUTO_INCREMENT PRIMARY KEY
但是要小心,你不想覆盖你已经设置的设置

阅读时我想到的另一件事是,你说的状态和用户ID是一样的。您可以使用
WHERE
子句来查找它们,如下所示:

SELECT * FROM tableName WHERE tableName.Userid = anotherTableOrTableName.Status

使用这些查询,您可以更新、重做、更改和查询数据库表。

这应该是您要查找的:@dognose它取决于引擎,因此并非在所有情况下都有效……您可能不理解我-从您的每个
名字的示例中可以看出,我需要自动证明
状态或您的列
。因此,当我在当前行中添加
Name1
StatusOrYourColumn
时,当我在当前行中添加第二次
FirstName
时,
StatusOrYourColumn
变为2。我使用的
Uniqueid
替换为
Status
。然后在使用
INSERT
时,为字段指定一个
NULL
值,以便自动递增。如果要手动执行此操作,请使用此
SET Status=Status+1