Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Campo sin repetir (http://www.forosdelweb.com/f21/campo-sin-repetir-599162/)

sonris 23/06/2008 06:45

Campo sin repetir
 
Hola, tengo una tabla con una primary-key, pero además quiero que otro de los campos, que es una cadena de caracteres no se pueda repetir en la tabla, no encuentro la sentencia SQL para poder hacer esto, me podrías ayudar? Estoy trabajando con una base de datos SQL, pero supongo que esto es genérico.
Gracias.

quimfv 23/06/2008 07:44

Respuesta: Campo sin repetir
 
Debes definir un indice unico sobre ese campo...

Por ejemplo la típica tabla de usuarios donde ademas del idUsuario el username tiene o quieres que sea unico...

Código:

DROP TABLE IF EXISTS `forum`.`users`;
CREATE TABLE  `forum`.`users` (
  `iduser` int(11) NOT NULL auto_increment,
  `password` varchar(6) NOT NULL,
  `name` varchar(45) NOT NULL,
  PRIMARY KEY  (`iduser`),
  UNIQUE KEY `ind_users_username` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

(la parte naranja elimina la tabla si ya existe, cuidado. Y la parte en verde dependerà del motor que uses...)

si ya tienes creada la tabla y no hay repeticiones....

Código:

ALTER TABLE `forum`.`users` ADD UNIQUE INDEX `ind_users_username`(`name`);
Quim

sonris 25/06/2008 07:40

Respuesta: Campo sin repetir
 
Muchas gracias. Has sido de gran ayuda.


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

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.