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

Concatenar con comillas

Estas en el tema de Concatenar con comillas en el foro de Mysql en Foros del Web. Buenos días, estoy intentando hacer lo siguiente en un procedure: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original set @latabla = CONCAT ( 'CREATE TABLE IF NOT ...
  #1 (permalink)  
Antiguo 18/12/2012, 05:43
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 19 años, 2 meses
Puntos: 0
Concatenar con comillas

Buenos días,
estoy intentando hacer lo siguiente en un procedure:

Código MySQL:
Ver original
  1. set @latabla=CONCAT('CREATE TABLE IF NOT EXISTS base_de_datos.tabla_',@fecha_de_hoy,' (
  2. `id` int(11) NOT NULL auto_increment,
  3.  `a` int(10) NOT NULL default `0`,
  4. `b` varchar(10) NOT NULL,
  5.  PRIMARY KEY  USING BTREE (`id`),
  6.  KEY `ix_tabla_',@fecha_de_hoy,'_id` (`id`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;');
  8.  
  9.   PREPARE stmt1 FROM @latabla;
  10.   EXECUTE stmt1;
  11.   DEALLOCATE PREPARE stmt1;

El problema es que no consigo ejecutarlo por el default `0` por defecto sería '0' y estoy intentando de la siguiente manera:

\`0\`
`0`
"0"

pero no funciona.

Un saludo

Última edición por gnzsoloyo; 18/12/2012 a las 08:41 Razón: Código SQL sin etiquetar.
  #2 (permalink)  
Antiguo 18/12/2012, 05:45
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Concatenar con comillas

Has probado sin comillas?
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 18/12/2012, 05:55
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Concatenar con comillas

no funciona
  #4 (permalink)  
Antiguo 18/12/2012, 08:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Concatenar con comillas

No funciona porque no estás poniendo apóstrofes ('), sino acentos graves (`). Por si no lo notas, no son la misma cosa, ni tampoco se usan para lo mismo.
Los apóstrofes se usan para cadenas de texto, los acentos graves se usan únicamente para los nombres de objetos de base de datos (bases, tablas, columnas, funciones almacenadas, triggers, procedimientos almacenados, eventos, etc).
Por otro lado, lo que estás haciendo, crear dinámicamente tablas, es una pésima práctica en el diseño de bases de datos, que sólo se realiza en casos muy puntuales, pero que tiende a crear serios problemas a los DBA.
¿Qué se supone que es esa tabla y por qué supones que necesitas hacerlo así?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/12/2012, 09:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Concatenar con comillas

Estoy intentando generar tablas des de un procedure, lo que hace es pasar información de una tabla temporal a otra.

Lo que quiero es que se cree la tabla de forma automática, y luego pase los registros. En el caso que exista ya la tabla, pues que no la cree.

El problema es le nombre de la tabla, y por eso uso el concat.

Con comillas simples tampoco funciona porque rompe el string concatenado.
  #6 (permalink)  
Antiguo 18/12/2012, 09:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Concatenar con comillas

No me entendiste la pregunta:
¿Por qué quieres crear tablas dinámicamente?
¿En qué contexto, en qué sistema crees que necesitas eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 18/12/2012, 10:18
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Concatenar con comillas

Pues tengo tablas con millones de registros, y en esas tablas hay consultas y actualizaciones, mi idea es ir generando otras tablas con menos información, por ejemplo por días o por meses..
  #8 (permalink)  
Antiguo 18/12/2012, 10:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Concatenar con comillas

Lo que dices es demasiado vago, pero desde ya te digo que en todo el problema que pareces tener es un mal diseño de la base, que no se va a solucionar segmentando como dices.
A mi entender estás encarando muy mal el asunto.
Ningún sistema funciona bien cuando creas dinámicamente tablas de ese modo.

Una base no es un conjunto de anotadores donde puedes separar todo por fechas. Eso se hace cuando implementas un DataWarehouse, y ni siquiera en esos casos se hace algo como lo que propones.
Si quieres intentarlo, hazlo, pero dentro de muy poco verás que habrás perdido completamente el control de la base, tendrás que volver a cero y diseñar la base nuevamente, sólo que bien.

Creo que sería mejor que nos digas cómo es la estructura, qué problemas te causa, y qué es lo que quieres lograr. El camino que has elegido sólo te llevará a un atolladero insalvable.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 18/12/2012, 10:53
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Concatenar con comillas

Hola,

bien como dices ese problema es el que tengo ya actualmente. Como no tengo la posibilidad de empezar des de 0 y hacer una buena estructura, se va "parcheando" como se puede.

Un saludo


(Como puedes entender, no depende de mi estas decisiones jeje)
  #10 (permalink)  
Antiguo 18/12/2012, 10:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Concatenar con comillas

Buena suerte.
La vas a necesitar en poco tiempo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: comillas, concatenar, bases-de-datos
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 23:24.