Detectar si existe campo en tabla MySQL

Post Reply
carito
Posts: 41
Joined: Sat Dec 03, 2016 2:49 pm

Detectar si existe campo en tabla MySQL

Post by carito »

Hola a todos:

Necesito una ayuda, como puedo detectar si existe o no un campo en una BD mysql ?

Lo que pasa es que tengo una funcion que imprime, y debo saber con anterioridad,
si ya existe un campo, para poder imprimir sus datos, pero tengo sistemas antiguos,
donde no tengo la certeza, si existen ya _ y el modulo de impresion, se
cae o no imprime nada.

He utilizado esta forma, pero no se si es la correcta o existe algo mejor, ahi
requiero la ayuda.

If oRs:Fieldpos( 'direccion' ) <> 0
? 'imprimo el dato'
EndIf

Tambien probe con

If FieldPos( oRs:direccion ) <> 0

EndIf

Pero no me reconoce el campo.

Utilizo TDolphin con mysql y harbour 3.2
Saludos,
MGA
Posts: 1218
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá
Contact:

Re: Detectar si existe campo en tabla MySQL

Post by MGA »

SHOW COLUMNS FROM clientes where field like "%codigo%";
ubiratanmga@gmail.com

FWH17.04
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
carito
Posts: 41
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Post by carito »

Gracias por responder, pero no me sirve tu idea, a lo mejor no me entendiste.

Requiero saber si en una tabla cualquire, realizada con mysql , existe o no un campo ?

Como averiguo esa informacion ?
CARLOS ATUNCAR
Posts: 41
Joined: Thu Sep 17, 2015 11:40 pm

Re: Detectar si existe campo en tabla MySQL

Post by CARLOS ATUNCAR »

cMsg :="SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE()AND COLUMN_NAME='actaconformidad_mod' AND TABLE_NAME='formularios' "
cQry := oServer:Query( cMsg )
If cQry:lastrec()=0
cMsg := "ALTER TABLE formularios "
cMsg += "ADD COLUMN actaconformidad_mod VARCHAR(80) NULL AFTER actaconformidad"
oServer:Execute( cMsg )
EndIf
cQry:end()


Lo uso asi para comprobar si no existe la columna y agregarla
carito
Posts: 41
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Post by carito »

Carlos, muchas gracias.

Es una muy buena idea, no se me habria ocurrido tomarlo asi, es un poco mas largo, pero creo que funcionara.

Yo pensaba que existe algun comando o funcion para detectar un campo.
Saludos,
User avatar
cmsoft
Posts: 653
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Detectar si existe campo en tabla MySQL

Post by cmsoft »

Con Dolphin podría ser asi:

Code: Select all

if (ascan(oRs:aColumns,'direccion') > 0) 
   // Existe

 
carito
Posts: 41
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Post by carito »

MGA, gracias tambien por la informacion, ahora probando, entendi lo que me decias, sorry :oops:
carito
Posts: 41
Joined: Sat Dec 03, 2016 2:49 pm

Re: Detectar si existe campo en tabla MySQL

Post by carito »

Gracias Cesar, esa forma no la conocia, esta excelente, pues utilizo el mismo TDolphin.
Post Reply