我是SQL的新手,在创建表结构时遇到了问题。
我想创建一个包含四列的表格:id
,text
,date
和replace
。问题是这在MySQL中给我一个错误,我认为因为单词TEXT
和DATE
也是数据类型的名称而REPLACE
是SQL中使用的另一个术语所以MySQL变得混乱关于我的列名应该是什么或者没有意识到我给出的名字是实际名称。有什么方法可以解决这个问题,以获取我想要的列名,而不必将列调用其他内容,然后在创建后手动更改它们吗?
这是我的SQL:
CREATE TABLE message (
id INT UNIQUE AUTO_INCREMENT NOT NULL,
text TEXT,
date INT,
replace INT DEFAULT 0
);
我得到的错误:
#1064 - 您的SQL语法出错;查看与MySQL服务器版本对应的手册,以便在第5行“替换INT DEFAULT 0”附近使用正确的语法
CREATE TABLE message(
id INT UNIQUE AUTO_INCREMENT NOT NULL ,
TEXT TEXT,
DATE INT,
REPLACE INT DEFAULT 0
);
答案 0 :(得分:5)
CREATE TABLE message (
`id` INT UNIQUE AUTO_INCREMENT NOT NULL,
`text` TEXT,
`date` INT,
`replace` INT DEFAULT 0
);
答案 1 :(得分:1)
一般规则是不要使用这些关键字,为您的字段名称提供与“文本”不同的内容。如果必须,在列名称周围使用`(后退)来告诉SQL它是列名而不是关键字的含义。我建议不要在'select'和'where'中调用你的列')