Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
675 views
in Technique[技术] by (71.8m points)

mysql - Using reserved words in column names

this is some simple code but I just don't know why I can't use this word as the entity of the table

CREATE TABLE IF NOT EXISTS users(
key INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
);

I realized I can't use "key" if I use key the mysql will ask me to check the syntax but if I use "id" or any others the table will be created.

Anyone know how I can create the entity name into key? Not something important since I can just use id instead of key but since I found this error I wonna see if there's a way to get it work.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can still use key if you want to. Just wrap it with backtick,

CREATE TABLE IF NOT EXISTS users
(
    `key` INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
);

but as an advise, refrain from using any reserved keyword to avoid future problems. :)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...