MySQL建表语句语法错误

标签 mysql

这个问题很直接。我遇到了这个 MySQL 错误,我无法弄清楚,我需要一些帮助来查找它。

完整错误:

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 'release date NOT NULL, downloads INT NOT NULL DEFAULT '0', f' at line 6

SQL语句:

CREATE TABLE IF NOT EXISTS sdm_downloads
    (
        id INT NOT NULL AUTO_INCREMENT,
        project INT NOT NULL DEFAULT '0',
        name VARCHAR(40) NOT NULL,
        release date NOT NULL,
        downloads INT NOT NULL DEFAULT '0',
        filename varchar(40) NOT NULL,
        filesize varchar(40) NOT NULL,
        PRIMARY KEY(id)
    )

预先感谢您提供的任何帮助。

最佳答案

你需要逃脱reserved words就像带反引号的release

CREATE TABLE IF NOT EXISTS sdm_downloads
(
    id INT NOT NULL AUTO_INCREMENT,
    project INT NOT NULL DEFAULT 0,
    name VARCHAR(40) NOT NULL,
    `release` date NOT NULL,
    downloads INT NOT NULL DEFAULT 0,
    filename varchar(40) NOT NULL,
    filesize varchar(40) NOT NULL,
    PRIMARY KEY(id)
)

SQLFiddle demo

关于MySQL建表语句语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19136057/

相关文章:

mysql - 从多个表中选择列时,如何从同一列中的 2 个条件返回数据?

php - MySQL表存在时不存在

mysql - 如何使用 MySQL 查询从集合中获取共同值?

php - 在 php 中将项目插入 mysql

mysql - 从 github_timeline : group pushes and downloads by repos, 中选择存储库 url 并通过 stargazers 过滤 repos

java - 如何使用数据库在服务器端管理帖子、评论、喜欢和不喜欢?

php - 为什么我在 PHP App 和 PhpMyAdmin 上得到不同的查询结果?进行严格/正常搜索的正确方法是什么?

mysql - 如何获取两列之间的日期范围?

mysql - 如何使用 "LEFT ON"获取SQLite中的数据

mysql - 将现有版本的mysql 5.6.35更新到5.7.17