问题描述
CREATE TABLE users(
user_id int(11) auto_increment primary key,f_name VARCHAR(255) NOT NULL,l_name VARCHAR(255) not NULL,u_name VARCHAR NOT NULL UNIQUE,phone int(15) not null UNIQUE,email VARCHAR not null UNIQUE,pwd VARCHAR not null,confpwd VARCHAR not null,state VARCHAR(255),lga VARCHAR(255) DEFAULT null,preference enum('m','f','mf') DEFAULT 'mf',gender enum('m','f') DEFAULT null,profile_image VARCHAR(255),bio VARCHAR(1000) DEFAULT null,forgot_pwd_code VARCHAR (255),forgot_pwd_time TIMESTAMP DEFAULT NULL,created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,hobbies_id int(11),FOREIGN KEY (hobbies_id) REFERENCES hobbies (userId) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我不断收到此错误
您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册以在第5行“ NOT NULL UNIQUE,phone int(15)not null UNIQUE,email VARCHAR not null”附近使用正确的语法
解决方法
VARCHAR
数据类型需要一个长度(代表允许的最大字符数)-不提供语法错误。
不仅对于列uname
,而且对于pwd
和confpwd
,这都是正确的。这些列中的每一个都应像varchar(<N>)
那样声明,其中<N>
是列的长度,而不仅仅是varchar
。