MySQL CREATE TABLE 中的语法错误

Syntax error in MySQL CREATE TABLE

我想在 phpmyadmin 中创建一个 table,为此我正在使用 SQL 命令

CREATE TABLE userdetail(    
detailid INT(255) UNSIGNED AUTO_INCREMENT PRIMARY,
name varchar(255) NOT NULL,
address text,
phone varchar(13) NOT NULL,
email_id varchar(255),
userId int(20) NOT NULL,
reg_date TIMESTAMP
)

我收到这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' name varchar(255) NOT NULL, address text, phone varchar(13) NOT ' at line 2

您在 PRIMARY 之后缺少 KEY:

CREATE TABLE userdetail (    
    detailid INT(255) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name varchar(255) NOT NULL,
    address text,
    phone varchar(13) NOT NULL,
    email_id varchar(255),
    userId int(20) NOT NULL,
    reg_date TIMESTAMP
)

请注意,int(255) 确实没有意义。您是否熟悉整数数据类型以及括号中的值的含义?您可以查看文档 here.

应该是这样的

 CREATE TABLE userdetail(    
    detailid INT(255) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name varchar(255) NOT NULL,
    address text,
    phone varchar(13) NOT NULL,
    email_id varchar(255),
    userId int(20) NOT NULL,
    reg_date TIMESTAMP);