mysql - SQL 列名称与数据类型的名称相同 - 导致错误

标签 mysql sql database create-table table-structure

我是 SQL 的新手,在创建表结构时遇到问题。

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

这是我的 SQL:

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

我得到的错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'replace INT DEFAULT 0 )' at line 5

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

最佳答案

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

关于mysql - SQL 列名称与数据类型的名称相同 - 导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20012586/

相关文章:

SQL:审核对多个表的对象的更改

php - 在服务器上为多个用户运行 MySql

android - Eclipse LogCat 错误 : android. database.sqlite.SQLiteException:没有这样的表:

mysql - 从 SQL Server 表中的分区检索数据

sql - 让mysql在连续范围内重新分配id

mysql - 当时间戳比当前时间早 X 分钟时删除 Codeigniter DB

jquery - SQL - 连接 t1.value 与 t2.column 名称匹配的表?

mysql - 选择查询中的重复列提供更快的查询执行

mysql - 如何计算一个表中不同行和列之间的timestampdiff?

php - 是否有可能防止 MySQL 查询出错并导致您的网站瘫痪?