Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Llave primaria repetida (https://www.clubdelphi.com/foros/showthread.php?t=47311)

Coco_jac 24-08-2007 00:47:11

Llave primaria repetida
 
Hola de neuvo con otro problema.
Estoy migrando data de paradox a mysql. tbl_clientes es una de las tablas en mysql donde la llave es fld_cclie, bueno no hay problema hasta aqui,sino que pasa algo raro, por decir tengo un codigo de cliente ab001 en dicha tabla, y luego al tratar de insertar otro codigo de cliente con codigo AB001, me muestra un mensaje que no se puede insertar registro codigo duplicado, como podria hacer que delphi distinga entre mayuscula y minusculas en este caso.

Espero su respuesta musschas gracias.

egostar 24-08-2007 00:52:35

Cita:

Empezado por Coco_jac (Mensaje 225693)
Hola de neuvo con otro problema.
Estoy migrando data de paradox a mysql. tbl_clientes es una de las tablas en mysql donde la llave es fld_cclie, bueno no hay problema hasta aqui,sino que pasa algo raro, por decir tengo un codigo de cliente ab001 en dicha tabla, y luego al tratar de insertar otro codigo de cliente con codigo AB001, me muestra un mensaje que no se puede insertar registro codigo duplicado, como podria hacer que delphi distinga entre mayuscula y minusculas en este caso.

Espero su respuesta musschas gracias.

Hola,

Porque no cuando llegues a tu casa (porque veo en tu otro hilo que no tienes tu delphi ahora mismo) nos muestras algo de tu código para ver que está pasando y poder ayudarte mejor.

Salud OS

roman 24-08-2007 03:29:12

Yo creo que depende del cotejamiento que uses para ese campo. Por ejemplo, yo normalmente uso latin1_spanish_ci que me permite caracteres latinos sin distinguir mayúsculas de minúsculas (case insensitive). Hago la prueba tratando de usar un campo char con ese cotejamiento, y -en efecto- no me permite repetir una clave que sólo difiera en las mayúscula y minúsculas. Sin embargo, si cambio el cotejamiento, por ejemplo a latin1_general_cs (case sensitive), entonces sí me lo permite.

// Saludos

Coco_jac 25-08-2007 16:58:59

Hola Roman disculpa mi igonorancia, pero desde el mysql que manejo no veo cambiar el punto que manejas, por favor te pido si me das un pequeño ejemplo de como poder lograrlo.

Gracias por tu apoyo

roman 29-08-2007 16:10:05

Un ejemplo:

Código SQL [-]
alter table tbl_clientes
change fld_cclie
fld_cclie char(10) character set latin1 collate latin1_general_cs

// Saludos

Coco_jac 29-08-2007 23:48:12

Hola Roman recien pude ver tu post, manejo mysql y trate de hacer esto

tenia esto :
Código Delphi [-]
CREATE TABLE `tbl_cliente` (
  `fld_cclie` varchar(5) NOT NULL default '',
  `fld_cdvend` varchar(5) default NULL,
  `fld_distr` varchar(20) default NULL,
  `fld_Fax` varchar(10) default NULL,
  `fld_correo` varchar(60) default NULL,
  `fld_flag` tinyint(1) default '0',
  PRIMARY KEY  (`fld_cclie`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

el cual origina(por defecto) :latin1_spanish_ci

trate esto :

Código Delphi [-]
ENGINE=MyISAM DEFAULT CHARSET=latin1_general_cs;

pero no reconoce el tipo, tal vez sea por la version aunque no creo, es la 4.1.9 de mysql


La franja horaria es GMT +2. Ahora son las 22:13:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi