Mysql SQL查询主键约束
我是sql的新手。有人能告诉我下面的sql查询吗。我的问题在于Mysql SQL查询主键约束,mysql,Mysql,我是sql的新手。有人能告诉我下面的sql查询吗。我的问题在于staffID int NOT NULL自动递增,主键(personID) 多谢各位。 注意。您试图创建无效列的主键,同时忽略自动递增列。请尝试使用下面的SQL。从MySQL中可以看到这一点 CREATE TABLE Persons(staffId INT AUTO_INCREMENT, personId VARCHAR(10), firstName VARCHAR(15), LastName VAR
staffID int NOT NULL自动递增,主键(personID)
多谢各位。
注意。您试图创建无效列的主键,同时忽略自动递增列。请尝试使用下面的SQL。从MySQL中可以看到这一点
CREATE TABLE Persons(staffId INT AUTO_INCREMENT,
personId VARCHAR(10),
firstName VARCHAR(15),
LastName VARCHAR(15),
Age INT,
primary key (staffId,personId));
自动增量列应为int类型&主键。但是如果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)";
什么是人格?显然,斯塔菲是主键。存储年龄是一个愚蠢的想法你的自动增量列应该是你的PK。此外,您还需要定义personID。请解释此语句
staffID int NOT NULL AUTO\u INCREMENT,PRIMARY KEY(personID)
@yetin AUTO\u INCREMENT列应为int和PRIMARY KEY。staffID是define auto_increment,但未声明为主键。这是错误的原因。请解释此语句staffID int NOT NULL AUTO_INCREMENT,PRIMARY KEY(personID)
根据SQL定义,PRIMARY KEY必须是表中的一个可用列,默认情况下该列不为NULL且唯一。SO中的SQL语句甚至没有列。因此,首先创建列并将其用作主键。
$sql = "CREATE TABLE Persons(staffId int primary key AUTO_INCREMENT
, personid int unique key not null , FirstName varchar(15),LastName varchar(15), Age int)";