Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

select * "excepto id" from... un select especial

Estas en el tema de select * "excepto id" from... un select especial en el foro de Mysql en Foros del Web. Hola buenos dias foreros, vereis tengo una duda que no se resolver, necesito hacer un select * quitando una columna... me explico mejor. cuando actualizo ...
  #1 (permalink)  
Antiguo 23/11/2011, 05:57
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta select * "excepto id" from... un select especial

Hola buenos dias foreros, vereis tengo una duda que no se resolver, necesito hacer un select * quitando una columna... me explico mejor.

cuando actualizo mi catalago ejecuto esta sentencia

INSERT INTO kar_catalogo_del SELECT * FROM kar_catalogo

para mover todo el catalogo anterior pero claro me coje tambien la columna ID por lo que me tira el error:

Duplicate entry '1' for key 1

entonces necesito hacer algo así como

INSERT INTO kar_catalogo_del SELECT * "excepto id" FROM kar_catalogo

ya que la tabla tiene 27 columnas y no es plan de poner id, ncan, ncat, fecha, etc etc

si alguien tan amable me dice si es posible, que me imagino que si, y cual es la sintaxis correcta se lo agradeceria eternamente

un saludo y gracias
  #2 (permalink)  
Antiguo 23/11/2011, 06:04
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: select * "excepto id" from... un select especial

Pues si es plan... de hecho es la unica solución....

Pero no sufras solo tendràs que escribirlo una vez....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 23/11/2011, 06:11
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: select * "excepto id" from... un select especial

infinitas gracias Quimfv por contestar tan rapido, pero me has echo llorar.... jaja es broma no en serio el problema de ponerlos todos es lo que tu dices deberia de ponerlos solo una vez pero las tablas pueden cambiar y eso me supone un gran problema aunque estoy pensando que puedo programar una setencia que me saque el nombre de las columnas y me prepare la siguiente sentencia pero uf que asco xD digo yo que deberia de aver alguna manera de hacer excepciones..... en fin.. un gúgol de gracias!!
  #4 (permalink)  
Antiguo 23/11/2011, 06:16
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: select * "excepto id" from... un select especial

bueno pos ya esta, la solución por si alguien la necesita:

Cita:
$_tSql = $B -> result_to_array($B -> query ( 'SELECT * FROM kar_catalogo LIMIT 1;'));
foreach ($_tSql[0] as $k => $v) {
if ($k <> 'id') $_tabs .= $k.',';
}
$_tabs = substr($_tabs,0,-1);
$B -> query ( 'INSERT INTO kar_catalogo_del SELECT '.$_tabs.' FROM kar_catalogo;');
muchas gracias Quimfv

edito:

No funciona ara me tira el error:
Cita:
Column count doesn't match value count at row 1
por que no son iguales..... me cagüen!! XD

Última edición por lambar; 23/11/2011 a las 06:22
  #5 (permalink)  
Antiguo 23/11/2011, 08:03
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: select * "excepto id" from... un select especial

$B -> query ( 'INSERT INTO kar_catalogo_del ('.$_tabs.') SELECT '.$_tabs.' FROM kar_catalogo;');

Y ahora.... perdon la tenias que escribir dos veces!!!!

Ese select .... LIMIT 1 tambien te lo podrias ahorrar hay funciones que te daran la lista de nombres de campos investiga un un poco....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 23/11/2011 a las 08:18
  #6 (permalink)  
Antiguo 23/11/2011, 10:38
Avatar de lambar  
Fecha de Ingreso: marzo-2005
Ubicación: Murcia Fumeta
Mensajes: 55
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: select * "excepto id" from... un select especial

Juas, ya está solucionado, muchísimas gracias Quim, me has echo darme cuenta de que aún estoy verde con MySql, no conozco esa función luego la investigaré.

Muchas gracias por todo.

Etiquetas: especial, excepto, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:12.