¿Cuál es el equivalente de la función SQLServer SCOPE_IDENTITY() en mySQL?¿El equivalente de la función SQLServer SCOPE_IDENTITY() en mySQL?
21
A
Respuesta
52
This es lo que busca:
LAST_INSERT_ID()
En respuesta al comentario de la 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 |
+------------------+
Entonces usa el LAST_INSERT_ID()
de la tabla original y no la tabla INSERT
ed dentro del gatillo.
Editar: Me di cuenta después de todo este tiempo que el resultado de SELECT LAST_INSERT_ID()
que se muestra en mi respuesta era incorrecto, aunque la conclusión al final fue correcta. He actualizado el resultado para que sea el valor correcto.
0
abierta MySql comando tipo SELECT LAST_INSERT_ID();
luego ENTER
Cuestiones relacionadas
- 1. Almacenamiento FILESTREAM en SqlServer -> equivalente MySQL?
- 2. SCOPE_IDENTITY en C# - rango
- 3. Equivalente de PostgreSQL de SQLServer NoLock Sugerencia
- 4. MySQL equivalente de la función DECODE en Oracle
- 5. Habilitación de la función de auditoría en SQLServer 2005
- 6. PHP: ¿equivalente a la función SUBSTRING_INDEX de MySQL?
- 7. SCOPE_IDENTITY() para GUID?
- 8. Equivalente de la función FOUND_ROWS() en Postgresql
- 9. Scope_Identity() en Microsoft Access
- 10. ¿Existe una función equivalente a la función de Oracle NVL en Mysql?
- 11. Función MySQL cadena equivalente a ucwords() de PHP
- 12. generate_series() equivalente en MySQL
- 13. SCOPE_IDENTITY no funciona en asp.net?
- 14. ¿cuál es la consulta equivalente en mysql?
- 15. scope_identity vs ident_current
- 16. ¿Soporta SQLite SCOPE_IDENTITY?
- 17. SCOPE_IDENTITY() no funciona
- 18. mysql función para proporcionar equivalente a Oracle NVL
- 19. ¿Limitar el tamaño de NVARCHAR en SQLServer?
- 20. ¿Búsqueda eficiente de paginación (límite) en SQLServer 2000?
- 21. ¿Cuál es el equivalente de REGEXP_SUBSTR en mysql?
- 22. ¿Cuál es el equivalente de JPA en .NET?
- 23. equivalente Python para IFNULL de MySQL
- 24. Python equivalente de la función cksum UNIX
- 25. MySQL "IS IN" equivalente?
- 26. ¿Common Lisp equivalente a la función principal de Haskell? función
- 27. MySQL IFNULL equivalente para php
- 28. ¿Tiene mysql el equivalente de las "funciones analíticas" de Oracle?
- 29. SqlServer create table with MySql like auto_increment primary key
- 30. MySQL MSSQL equivalente de CONVERT()
Gracias Sean. ¿Cómo se comporta cuando la tabla en la que estoy insertando los datos tiene un activador que inserta datos en otra tabla que también tiene un campo de autoincrementación? ¿Devolvería la ID de la tabla original o la afectada por el desencadenante? – kristof
Gracias Sean por probar esto – kristof
Gracias ... Por la respuesta –