Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: elbrujo20 en 18 Octubre 2016, 05:59 am



Título: problema con base de datos
Publicado por: elbrujo20 en 18 Octubre 2016, 05:59 am
Buenas comunidad ando intentando hacer una bd pero me esta arrojando un error y por mas que le busco no encuentro la falla es es el codigo en msql quiero que el id se tipo unique pero no me deja o primary pero marca error ya le cambie a null y sigue marcando error
CREATE TABLE `proyecto`.`usuarios` ( `id` INT(10) NOT NULL AUTO_INCREMENT , `username` VARCHAR(50) NOT NULL , `password` VARCHAR(50) NOT NULL , `email` VARCHAR(100) NOT NULL , `last_login` INT(50) NOT NULL , `sec_question` INT(100) NOT NULL , `sec_answer` INT(50) NOT NULL , `role` ENUM(2) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;

El error me dice
#1604 FOR THE RIGHT SYNTAX TO USE NEAR'2)NOT NULL,PRIMARY KEY(ID) ENGINE=INNODB' ATLINE 1

Saludos


Título: Re: problema con base de datos
Publicado por: MCKSys Argentina en 18 Octubre 2016, 19:25 pm
Hola!

No sé mucho sobre el tema, pero por el texto del error, me parece que el problema lo tienes en el campo role; el cual defines como ENUM(2). Ahora, por lo que he leído, cuando usas enum, debes colocar una lista con los valores posibles.

Un ejemplo sería:

Código:
CREATE TABLE employee_person (
    id int unsigned not null primary key,
    address varchar(60),
    phone int,
    email varchar(60),
    birthday DATE,
    sex ENUM('M', 'F'),
    m_status ENUM('Y','N'),
    s_name varchar(40),
    children int
);

Source: http://www.java2s.com/Code/SQL/Data-Type/Howtouseenum.htm (http://www.java2s.com/Code/SQL/Data-Type/Howtouseenum.htm)

Saludos!