¿Se puede acceder al valor de incremento automático en MySQL dentro de una declaración?

Tengo una base de datos MySQL que contiene una tabla de usuarios. La clave principal de la tabla es 'userid', que se configura como un campo de incremento automático.

Lo que me gustaría hacer es cuando inserte un nuevo usuario en la tabla es usar el mismo valor que el incremento automático está creando en el campo 'userid' en un campo diferente, 'default_assignment'.

p.ej.

Me gustaría una declaración como esta:

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

así que creo el usuario 'Barry', el 'userid' se genera como 16 (por ejemplo), pero también quiero que 'default_assignment' tenga el mismo valor de 16.

¿Hay alguna forma de lograr esto por favor?

¡Gracias!

Actualizar:

Gracias por las respuestas El campo default_assignment no es redundante. Default_assigment puede hacer referencia a cualquier usuario dentro de la tabla de usuarios. Al crear un usuario, ya tengo un formulario que permite la selección de otro usuario como default_assignment, sin embargo, hay casos en los que debe configurarse para el mismo usuario, de ahí mi pregunta.

Actualizar:

Ok, probé la sugerencia de desencadenantes de actualización, pero aún no puedo hacer que esto funcione. Aquí está el desencadenante que he creado:

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

Sin embargo, al insertar un nuevo usuario, default_assignment siempre se establece en 0.

Si configuro manualmente el ID de usuario, el default_assignment se establece en el ID de usuario.

Por lo tanto, el proceso de generación de asignación automática ocurre claramente después de que el disparador surta efecto.

Respuestas a la pregunta(10)

Su respuesta a la pregunta