Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on Why comma is expected for auto_increment?

Post

Why comma is expected for auto_increment?

+0
−2
query = "CREATE TABLE "+TABLE+" ("+COLUMN1+" INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, "+COLUMN2+" VARCHAR(255), " +
         COLUMN3+" VARCHAR(255), "+COLUMN4+" TEXT, "+ COLUMN5+" VARCHAR(255), "+COLUMN6+" VARCHAR(255), "+COLUMN7+" TEXT)";

error

')',, ON or comma expected, got 'AUTO_INCREMENT'

I am very new to SQL. Earlier I was using Xampp.

Why comma expected for AUTO_INCREMENT? If I write the command something just like this :

"+COLUMN1+" INTEGER PRIMARY KEY NOT NULL ,AUTO_INCREMENT,

then I don't get the error/warning. But I think if I use comma then SQL may think AUTO_INCREMENT isn't for COLUMN1's. Cause it might be separated by comma.

I was trying to follow this answer:

 "CUST_ID" INT not null primary key
        GENERATED ALWAYS AS IDENTITY
        (START WITH 1, INCREMENT BY 1)

But I got same error on GENERATED at first then AS. My attempt is available in the answer.

I have tried IDENTITY also.

Personid int IDENTITY(1,1) PRIMARY KEY,

same error for IDENTITY

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

3 comment threads

Answer!!! (1 comment)
DBMS? (3 comments)
There's two table-column tag. (1 comment)
DBMS?
elgonzo‭ wrote about 3 years ago · edited about 3 years ago

Note that AUTO_INCREMENT is not a standard SQL keyword, but rather an additional keyword defined by certain DBMS and/or SQL parsers. The syntax constraints/rules regarding this keyword can also differ between different DBMS/parsers implementing AUTO_INCREMENT. Thus, i would suggest you add as a tag to or mention in your question the DBMS you are using. (As an example, theoretically assuming the DBMS in use is mysql: If the reader would know that you are using mysql, then thy can reasonably conclude that the syntax of your create table statement is violating mysql's syntax rules, and give a meaningful answer that both explaines the problem and provides actionable advice...)

Anonymous‭ wrote about 3 years ago

I am directly using SQL from Java. I don't have any idea of backend. I am sure that it's not mysql. But it's something else. What's that? I don't know..

elgonzo‭ wrote about 3 years ago · edited about 3 years ago

Try figuring out the actual DBMS backend (or SQL bridge/adapter/parser/translation layer) you are using. Unfortunately, i don't know of a way to do that in SQL that would work across different DBMS products. If you can't figure it out, and no one comes up with a "what a lucky blind guess, i'm glad it helped you" kind of answer or comment, i guess you could use Google to get some overview of DBMS products that support the AUTO_INCREMENT keyword. Even if it would be an incomplete overview, it would still be something to get you started solving the problem. Then, one by one, you would look up the documentation for those DBMS' and see how a correct primary key column definiton with AUTO_INCREMENT should look like for that particular DBMS and try it out. Do this until you find a syntax that works in your case...