Você pode acessar o valor de incremento automático no MySQL em uma instrução?

Eu tenho um banco de dados MySQL que contém uma tabela de usuários. A chave primária da tabela é 'userid', definida como um campo de incremento automático.

O que eu gostaria de fazer é que, quando insiro um novo usuário na tabela, use o mesmo valor que o incremento automático está criando no campo 'userid' em um campo diferente, 'default_assignment'.

por exemplo.

Eu gostaria de uma declaração como esta:

INSERT INTO users ('username','default_assignment') VALUES ('barry', value_of_auto_increment_field())

para criar o usuário 'Barry', o 'userid' é gerado como sendo 16 (por exemplo), mas também quero que o 'default_assignment' tenha o mesmo valor de 16.

Existe alguma maneira de conseguir isso, por favor?

Obrigado!

Atualizar:

Obrigado pelas respostas. O campo default_assignment não é redundante. O default_assigment pode fazer referência a qualquer usuário na tabela de usuários. Ao criar um usuário, já tenho um formulário que permite a seleção de outro usuário como o default_assignment, no entanto, há casos em que ele precisa ser definido para o mesmo usuário, daí a minha pergunta.

Atualizar:

Ok, eu tentei a atualização aciona a sugestão, mas ainda não consigo fazer isso funcionar. Aqui está o gatilho que eu criei:

CREATE TRIGGER default_assignment_self BEFORE INSERT ON `users`  
FOR EACH ROW BEGIN
SET NEW.default_assignment = NEW.userid;
END;

Ao inserir um novo usuário, no entanto, o default_assignment é sempre definido como 0.

Se eu definir manualmente o userid, o default_assignment será definido como userid.

Portanto, o processo de geração de atribuição automática ocorre claramente depois que o gatilho entra em vigor.

questionAnswers(10)

yourAnswerToTheQuestion