elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  clausula OUTPUT en sentencias INSERT de mySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: clausula OUTPUT en sentencias INSERT de mySQL  (Leído 3,644 veces)
peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
clausula OUTPUT en sentencias INSERT de mySQL
« en: 30 Septiembre 2014, 17:00 pm »

Buenas tardes amigos llevo un rato buscando una sentencia similar a esta de SQL Server, pero para mySQL, como en el titulo del post me refiero a la clausula OUTPUT.

Código
  1. UPDATE tabla SET empage = 10 OUTPUT INSERTED.empid WHERE  (empage < 10)


Gracias ;)


En línea

peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #1 en: 30 Septiembre 2014, 17:00 pm »

---


En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #2 en: 30 Septiembre 2014, 20:23 pm »

Conozco  la salida para ficheros pero esa nop...

Supongo que has visto esto:
http://stackoverflow.com/questions/5817414/output-clause-in-mysql
En línea




peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #3 en: 30 Septiembre 2014, 22:11 pm »

Conozco  la salida para ficheros pero esa nop...

Supongo que has visto esto:
http://stackoverflow.com/questions/5817414/output-clause-in-mysql

Si, la he visto, es mas el copy-paste lo hice de esa misma pagina, pero seria genial tener esa clausula en mySQL con lo vago que soy me ahorraría 3 lineas de código jeje
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.957


I'm fourth.


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #4 en: 30 Septiembre 2014, 22:46 pm »

No creo que exista un equivalente, te vas a encontrar con work arounds así. A lo mucho puedes sacar la ultima ID de una inserción con LAST_INSERT_ID()...
En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #5 en: 1 Octubre 2014, 00:19 am »

Si lo haces por ahorrar líneas, haz caso a MinusFour...

Si lo haces para reducir las peticiones al servidor (por ejemplo, xq tienes amazon o google y te cobran por petición), podrías meter dos queries en una misma petición, simplemente separándola con ;

Por otro lado ¿Existe la cláusula LAST INSERT ID? No digo function, digo cláusula, sería genial.
En línea




peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #6 en: 1 Octubre 2014, 08:42 am »

, podrías meter dos queries en una misma petición, simplemente separándola con ;

Podrias poner un ejemplo de como hacer en la misma query el insert y el select con LAST_INSERT_ID ?
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.957


I'm fourth.


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #7 en: 1 Octubre 2014, 15:11 pm »

Si lo haces por ahorrar líneas, haz caso a MinusFour...

Si lo haces para reducir las peticiones al servidor (por ejemplo, xq tienes amazon o google y te cobran por petición), podrías meter dos queries en una misma petición, simplemente separándola con ;

Por otro lado ¿Existe la cláusula LAST INSERT ID? No digo function, digo cláusula, sería genial.

Que yo sepa no.

Podrias poner un ejemplo de como hacer en la misma query el insert y el select con LAST_INSERT_ID ?

Código
  1. INSERT INTO tabla(empage) VALUES (10); SELECT empage FROM tabla WHERE empid = LAST_INSERT_ID();

Aunque esto no es la misma query... son dos queries separadas.
« Última modificación: 1 Octubre 2014, 15:26 pm por MinusFour » En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #8 en: 1 Octubre 2014, 15:39 pm »

Te me has adelantado :-)
En línea




peib0l
Wiki

Desconectado Desconectado

Mensajes: 3.493


freedom


Ver Perfil WWW
Re: clausula OUTPUT en sentencias INSERT de mySQL
« Respuesta #9 en: 2 Octubre 2014, 01:00 am »

Jeje gracias por la ayuda MinusFour, después de leer la documentación oficial y algo mas de información sobre esta función encontré que te devuelve el ultimo ID insertado siempre y cuando el campo sea auto-incremental y ademas esté en la misma conexión.


Código
  1. INSERT INTO tabla(empage) VALUES (10); SELECT LAST_INSERT_ID();
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Insert Mysql [PHP]
Bases de Datos
Ari Slash 5 4,668 Último mensaje 7 Enero 2010, 20:58 pm
por Shell Root
[SOL] Insert into select ... mysql
Bases de Datos
Cioouw 9 9,797 Último mensaje 22 Abril 2010, 03:24 am
por Cioouw
insert y subconsultas en mysql
Bases de Datos
doreymis 4 9,749 Último mensaje 8 Junio 2010, 21:26 pm
por ^Tifa^
Insert Retrazado en MySQL « 1 2 »
Bases de Datos
Skeletron 11 7,307 Último mensaje 18 Enero 2011, 19:30 pm
por Skeletron
[mysql] Consultar mediante rango de fechas en una sola sentencias ? « 1 2 3 »
PHP
Diabliyo 22 28,766 Último mensaje 10 Marzo 2011, 22:57 pm
por Diabliyo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines