简体   繁体   English

为什么我的SQL语句抛出语法错误?

[英]Why is my SQL statement throwing a syntax error?

I tried to create a table like so: 我试图创建一个像这样的表:

CREATE TABLE Persons
(
id int PRIMARY KEY AUTOINCREMENT,
metalId varchar(255),
colorId varchar(255)
)

but it get an error: 但它得到一个错误:

1064 - You have an error in your SQL syntax; 1064-您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTOINCREMENT, metalId varchar(255), colorId varchar(255) )' at line 3 在第3行的“ AUTOINCREMENT,metalId varchar(255),colorId varchar(255))附近,检查与您的MySQL服务器版本相对应的手册以使用正确的语法。

Anyone know what's wrong with my code? 有人知道我的代码有什么问题吗?

You missed an underscore. 您错过了下划线。 AUTOINCREMENT should be AUTO_INCREMENT . AUTOINCREMENT应该是AUTO_INCREMENT

Try 尝试

CREATE TABLE Persons
(
id int PRIMARY KEY AUTO_INCREMENT,
metalId varchar(255),
colorId varchar(255)
)

Here is main source. 这是主要来源。

Syntax for MySQL MySQL的语法

The following SQL statement defines the "P_Id" column to be an auto-increment primary key field in the "Persons" table: 以下SQL语句将“ P_Id”列定义为“人”表中的自动递增主键字段:

CREATE TABLE Persons
(
P_Id int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)

MySQL uses the AUTO_INCREMENT keyword to perform an auto-increment feature. MySQL使用AUTO_INCREMENT关键字执行自动增量功能。

By default, the starting value for AUTO_INCREMENT is 1, and it will increment by 1 for each new record. 默认情况下,AUTO_INCREMENT的起始值为1,对于每个新记录,它将递增1。

To let the AUTO_INCREMENT sequence start with another value, use the following SQL statement: ALTER TABLE Persons AUTO_INCREMENT=100 若要使AUTO_INCREMENT序列以另一个值开头,请使用以下SQL语句:ALTER TABLE Persons AUTO_INCREMENT = 100

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM