请问 mySql 语法有什么问题

PLese what is wrong with mySql syntax

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;

我一直收到这个错误

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NOT NULL UNIQUE, phone int(15) not null UNIQUE, email VARCHAR not null' at line 5

VARCHAR 数据类型需要一个长度(表示允许的最大字符数)- 不提供是语法错误。

这不仅适用于列 uname,而且适用于 pwdconfpwd。这些列中的每一列都应声明为 varchar(<N>),其中 <N> 是列的长度,而不仅仅是 varchar.