sintaxis porque mejor español entre diferencias diferencia definicion mysql sql-server

porque - El equivalente de la función SQLServer SCOPE_IDENTITY() en mySQL?



porque es mejor sql server (2)

abra el tipo de comando SELECT LAST_INSERT_ID(); luego ENTER

¿Cuál es el equivalente de la función SQLServer SCOPE_IDENTITY() en mySQL?


This es lo que estás buscando:

LAST_INSERT_ID()

En respuesta al comentario de OP, creé la siguiente prueba de banco:

CREATE TABLE Foo ( FooId INT AUTO_INCREMENT PRIMARY KEY ); CREATE TABLE Bar ( BarId INT AUTO_INCREMENT PRIMARY KEY ); INSERT INTO Bar () VALUES (); INSERT INTO Bar () VALUES (); INSERT INTO Bar () VALUES (); INSERT INTO Bar () VALUES (); INSERT INTO Bar () VALUES (); CREATE TRIGGER FooTrigger AFTER INSERT ON Foo FOR EACH ROW BEGIN INSERT INTO Bar () VALUES (); END; INSERT INTO Foo () VALUES (); SELECT LAST_INSERT_ID();

Esto devuelve:

+------------------+ | LAST_INSERT_ID() | +------------------+ | 1 | +------------------+

Por lo tanto, usa LAST_INSERT_ID() de la tabla original y no la tabla INSERT ed dentro del desencadenador.

Editar: Me di cuenta después de todo este tiempo de que el resultado de SELECT LAST_INSERT_ID() muestra en mi respuesta era incorrecto, aunque la conclusión al final era correcta. He actualizado el resultado para que sea el valor correcto.