MySQL creationg table 位置消息错误

MySQL creationg table error with Positional message

您好,我是 MySQL 的新手,在创建 table 时遇到了问题。它说我使用的类型在它们带有')'的位置上无效。

有人能告诉我这段代码有什么问题吗?

create table CUSTOMER(
    CustomerID int AUTO_INCREMENT, 
    LastName varchar, 
    FirstName varchar, 
    Address varchar, 
    City varchar, 
    State varchar, 
    ZIP number, 
    Phone number,
    EmailAddress varchar,
    constraint pk_cID primary key(CustomerID));

您的 table 应如下所示:

create table CUSTOMER(
    CustomerID int not null  AUTO_INCREMENT, 
    LastName varchar(100), 
    FirstName varchar(100),
    Address varchar(100),
    City varchar(100),
    State varchar(100),
    ZIP int, 
    Phone varchar(50),
    EmailAddress varchar(100),
    primary key(CustomerID)
);
  • number 不是 MySQL
  • 中的数据类型
  • 当您分配 auto_increment 时,它应该是 not null auto_increment
  • 您不需要主键约束,只需添加主键即可。
  • 我不认为存储 Phone 数字的最佳方式是 int,您可能有不同的格式,最好的方式是将数字视为地址,因此 varchar 会变得更好