我有一个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.
因此,在触发生效后,自动分配生成过程显然会发生.