Php MySQL错误,不为NULL

Php MySQL错误,不为NULL,php,mysql,mysql-error-1064,Php,Mysql,Mysql Error 1064,我正在尝试在我的数据库中运行此查询: CREATE TABLE users( user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR NOT NULL, userpass VARCHAR NOT NULL, first_name VARCHAR NOT NULL, last_name VARCHAR NOT NULL, email VARCHAR NOT NULL,

我正在尝试在我的数据库中运行此查询:

CREATE TABLE users(
    user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
    username VARCHAR NOT NULL, 
    userpass VARCHAR NOT NULL,
    first_name VARCHAR NOT NULL,
    last_name VARCHAR NOT NULL,
    email VARCHAR NOT NULL,
    address VARCHAR NOT NULL,
    phone BIGINT UNSIGNED NOT NULL,
    PRIMARY KEY(user_id)
)
MySQL返回以下错误:

#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解使用接近“NOT NULL”的正确语法, userpass VARCHAR不为NULL, first_name VARCHAR不为空, “在3号线


我无法找出代码的错误…

您需要指定
VARCHAR
列的大小:

CREATE TABLE users( user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
                   username VARCHAR(100) NOT NULL,
                   userpass VARCHAR(100) NOT NULL,
                   first_name VARCHAR(100) NOT NULL,
                   last_name VARCHAR(100) NOT NULL,
                   email VARCHAR(100) NOT NULL,
                   address VARCHAR(100) NOT NULL,
                   phone  BIGINT UNSIGNED NOT NULL,
                   PRIMARY KEY(user_id) );


将电话号码存储为
BIGINT
并不是最好的主意。请考虑正常字符串。

谢谢!它工作!!!我必须设定一个特定的尺寸吗?我的意思是,例如,VARCHAR的范围是0-65535。我认为(尺码)是可选的。不,尺码不是可选的。好的,非常感谢@Basilhspadopoulos如果你的问题已经解决,你可以:)