0

我对 SQL 非常陌生,并且在创建表结构时遇到了问题。

我想创建一个包含四列的表- idtext和。问题是这在 MySQL 中给了我一个错误,我认为是因为单词and也是数据类型的名称,并且是 SQL 中使用的另一个术语,所以 MySQL 对我的列名应该是什么或没有意识到我的名称感到困惑给出的是实际名称。有什么办法可以解决这个问题来获得我想要的列名,而不必调用其他列,然后在创建后手动将它们改回来?datereplaceTEXTDATEREPLACE

这是我的 SQL:

CREATE TABLE message (
    id INT UNIQUE AUTO_INCREMENT NOT NULL,
    text TEXT,
    date INT,
    replace INT DEFAULT 0
);

我得到的错误是:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的“replace INT DEFAULT 0)”附近使用正确的语法

CREATE TABLE message(
    id INT UNIQUE AUTO_INCREMENT NOT NULL ,
    TEXT TEXT,
    DATE INT,
    REPLACE INT DEFAULT 0
);
4

2 回答 2

6
CREATE TABLE message (
    `id` INT UNIQUE AUTO_INCREMENT NOT NULL,
    `text` TEXT,
    `date` INT,
    `replace` INT DEFAULT 0
);
于 2013-11-15T23:43:05.880 回答
3

一般规则是不要使用这些关键字,为您的字段名称提供不同于“文本”的内容。如果必须,请在列名周围使用 `(反引号)来告诉 SQL 它是列名,而不是关键字的含义。我建议不要将您的列称为“来自”、“选择”和“位置”;)

于 2013-11-15T23:43:56.173 回答