SQL查询主键约束

时间:2015-05-14 07:13:33

标签: mysql

我是sql的新手。有人可以请教我以下的sql查询。我的问题在于staffID int NOT NULL AUTO_INCREMENT, PRIMARY KEY(personID)

$sql   =   "CREATE   TABLE   Persons(staffID   int   NOT   NULL 
AUTO_INCREMENT,
PRIMARY  KEY(personID),FirstName  varchar(15),LastName  varchar(15),Age 
int)";

谢谢。 问候。

2 个答案:

答案 0 :(得分:1)

您正在尝试创建无效列的主键,以及省略自动增量列。请尝试使用以下SQL。请参阅MySQL的documentation

CREATE TABLE Persons(staffId INT AUTO_INCREMENT, 
     personId VARCHAR(10),
     firstName VARCHAR(15), 
     LastName VARCHAR(15),
     Age INT, 
     primary key (staffId,personId));

答案 1 :(得分:1)

Auto_increment列应为int type&首要的关键。但是,如果staff_id不是主键,那么你的sql语句是错误的。您可以将staffid设置为主键,将person设置为唯一键

$sql   =   "CREATE   TABLE   Persons(staffId int primary key AUTO_INCREMENT
, personid int unique key not null , FirstName  varchar(15),LastName  varchar(15), Age int)";