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