SQL语法错误-找不到错误 [英] SQL Syntax error - can't find the error

查看:76
本文介绍了SQL语法错误-找不到错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

CREATE TABLE 'categories'(
    'id' SMALLINT NOT NULL AUTO_INCREMENT, 
    'category' VARCHAR(30) NOT NULL, 
    PRIMARY KEY ('id'),
    UNIQUE KEY 'category' ('category') 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

CREATE TABLE 'orders' ( 
    'id' INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    'user_id' INT UNSIGNED NOT NULL, 
    'transaction_id' VARCHAR(19) NOT NULL, 
    'payment_status' VARCHAR(15) NOT NULL, 
    'payment_amount' DECIMAL(6,2) UNSIGNED NOT NULL, 
    'payment_date_time' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY ('id'), 
    KEY 'user_id' ('user_id') 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

CREATE TABLE 'pages' ( 
    'id' MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, 
    'category_id' SMALLINT UNSIGNED NOT NULL, 
    'title' VARCHAR(100) NOT NULL, 
    'description' TINYTEXT NOT NULL, 
    'content' LONGTEXT NOT NULL, 
    'date_created' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY ('id'), 
    KEY 'category_id' ('category_id'), 
    KEY 'creation_date' ('date_created') 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

CREATE TABLE 'pdfs' ( 
    'id' SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, 
    'tmp_name' CHAR(40) NOT NULL, 
    'title' VARCHAR(100) NOT NULL, 
    'description' TINYTEXT NOT NULL, 
    'file_name' VARCHAR(40) NOT NULL, 
    'size' MEDIUMINT UNSIGNED NOT NULL, 
    'date_created' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    PRIMARY KEY ('id'), 
    UNIQUE KEY 'tmp_name' ('tmp_name'), 
    KEY 'date_created' ('date_created') 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

CREATE TABLE 'users' ( 
    'id' INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    'type' ENUM ('member','admin') NOT NULL, 
    'username' VARCHAR(30) NOT NULL, 
    'email' VARCHAR(80) NOT NULL, 
    'pass' VARBINARY(32) NOT NULL, 
    'first_name' VARCHAR(20) NOT NULL, 
    'last_name' VARCHAR (40) NOT NULL, 
    'date_expires' DATE NOT NULL, 
    'date_created' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    'date_modified' TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', 
    PRIMARY KEY ('id'), 
    UNIQUE KEY 'username' ('username'), 
    UNIQUE KEY 'email' ('email') 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

............................................... .....................

.............................................................................

我在这里找不到SQL错误.

I cannot find the SQL error here.

MySQL说:

#1064-您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在类别"("id" SMALLINT NOT NULL AUTO_INCREMENT,"category" VARCHAR(30)NOT"的第1行附近使用正确的语法

#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 ''categories' ('id' SMALLINT NOT NULL AUTO_INCREMENT, 'category' VARCHAR(30) NOT' at line 1

请帮助.我在共享服务器上使用MySQL 4.4.x.

Please help. I am using MySQL 4.4.x on a shared server.

推荐答案

您将表名和列名用'括起来,应该为`(反引号)

You're surrounding your table and column names with ', it should be ` (backtick)

CREATE TABLE `categories` 
(`id` SMALLINT NOT NULL AUTO_INCREMENT, 
 `category` VARCHAR(30) NOT NULL, 
 PRIMARY KEY (`id`),
 UNIQUE KEY `category` (`category`) 
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

这篇关于SQL语法错误-找不到错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆