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

nombre de campo en sql

Estas en el tema de nombre de campo en sql en el foro de Mysql en Foros del Web. Hola, me he encontrado con el siguiente problema: Tengo una tabla en una base de datos, a esa tabla quiero agregarle una columna nueva cuyo ...
  #1 (permalink)  
Antiguo 10/03/2009, 12:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 1 mes
Puntos: 0
nombre de campo en sql

Hola, me he encontrado con el siguiente problema:

Tengo una tabla en una base de datos, a esa tabla quiero agregarle una columna nueva cuyo nombre de esa columna sea la fecha actual de mi sistema.

La fecha actual del sistema la obtengo con una función en php llamada date, la guardo en una variable de la siguiente manera:

$fecha=date("Y-m-d");

Ahora utilizo la sentencia ALTER TABLE de sql para agregar la nueva columna y sustituyo la variable $fecha con el fin de nombrar esa nueva columna, de la siguiente manera:

$columna="ALTER TABLE lista add".$fecha."varchar (30)";
mysql_query($columna);

Concatenamos la variable $fecha con la sentencia sql, lo cual no resulta.

Alguien que pueda ayudarme a resolver este problema, o decirme si es posible realizar una operacion como esta.

Gracias!!!
  #2 (permalink)  
Antiguo 10/03/2009, 12:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: nombre de campo en sql

Los números y las fechas (iniciales), y otras palabras prohibidas son inadecuadas para nombrar columnas; no obstante, pueden usarse para nombrarlas, pero usando el acento grave antes y después

Prueba esto en tu phpmyadmin
ALTER TABLE lista add 2009/02/02 varchar (30);
te dará error
pero si lo incluyes así
ALTER TABLE lista add `2009/02/02`varchar (30)
funcionará, aunque no es muy recomendable y no olvides que cuando lo selecciones también tendrás que poner los acentos...
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 03:41.