相关疑难解决方法(0)

你能在一个语句中访问MySQL中的自动增量值吗?

我有一个MySQL数据库,其中包含一个用户表.表的主键是'userid',它被设置为自动增量字段.

我想要做的是当我在表中插入一个新用户时,使用自动增量在另一个字段'defaultidass'中的'userid'字段中创建的相同值.

例如

我想要这样的声明:

INSERT INTO users ('username','default_assignment') VALUES ('barry', value_of_auto_increment_field())
Run Code Online (Sandbox Code Playgroud)

所以我创建用户'Barry','userid'生成为16(例如),但我也希望'default_assignment'具有相同的值16.

请问有什么方法可以实现吗?

谢谢!

更新:

谢谢你的回复.default_assignment字段不是多余的.default_assigment可以引用users表中的任何用户.在创建用户时,我已经有一个表单允许选择另一个用户作为default_assignment,但是有些情况需要将它设置为同一个用户,因此我的问题.

更新:

好的,我已经尝试了更新触发器建议,但仍然无法使其工作.这是我创建的触发器:

CREATE TRIGGER default_assignment_self BEFORE INSERT ON `users`  
FOR EACH ROW BEGIN
SET NEW.default_assignment = NEW.userid;
END;
Run Code Online (Sandbox Code Playgroud)

但是,插入新用户时,default_assignment始终设置为0.

如果我手动设置用户ID,则default_assignment将设置为userid.

因此,在触发生效后,自动分配生成过程显然会发生.

mysql sql insert auto-increment

22
推荐指数
1
解决办法
3万
查看次数

标签 统计

auto-increment ×1

insert ×1

mysql ×1

sql ×1