MySQL #1064 - 你的 SQL 语法有错误

标签 mysql sql

<分区>

我正在尝试创建表然后显示以下错误。但是我找不到错误。我是 Mysql 的新手,请帮助我..

SQL查询:

--
-- Dumping data for table `files`
--
-- --------------------------------------------------------
--
-- Table structure for table `post`
--
CREATE TABLE IF NOT EXISTS  `offer` (    
 offer_id INT( 9 ) NOT NULL AUTO_INCREMENT ,
 offer_category VARCHAR( 50 ) CHARACTER SET utf8 NOT NULL ,
 offer_type VARCHAR( 50 ) CHARACTER SET utf8 NOT NULL ,
 sub_category_id INT( 9 ) NOT NULL ,
 category_id INT( 9 ) NOT NULL ,
 state_id INT( 9 ) NOT NULL ,
 city_id INT( 9 ) NOT NULL ,
 location_id INT( 9 ) NOT NULL ,
 file_id INT( 9 ) NOT NULL ,
 title VARCHAR( 50 ) CHARACTER,
 description TEXT CHARACTER,
 date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 exp_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 shop_id INT( 9 ) NOT NULL ,
 status TINYINT( 1 ) NOT NULL ,
PRIMARY KEY (  offer_id )
) ENGINE = INNODB DEFAULT CHARSET = latin1 AUTO_INCREMENT =63;

错误是,

MySQL said: Documentation

        #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 '  
          `description` text CHARACTER,
            `date` timestamp NOT NULL DEFAULT CURRENT_TI' at line 22 

最佳答案

问题:

  1. title VARCHAR( 50 ) CHARACTER : VARCHAR(50) 就够了,MySQL 不支持这种语法。
  2. description TEXT CHARACTER : 使用一个 TEXT 或 CHAR
  3. 两列不能有CURRENT_TIMESTAMP

试试这个

CREATE TABLE IF NOT EXISTS  `offer` (

 `offer_id` INT( 9 ) NOT NULL AUTO_INCREMENT ,
 `offer_category` VARCHAR( 50 ) CHARACTER SET utf8 NOT NULL ,
 `offer_type` VARCHAR( 50 ) CHARACTER SET utf8 NOT NULL ,
 `sub_category_id` INT( 9 ) NOT NULL ,
 `category_id` INT( 9 ) NOT NULL ,
 `state_id` INT( 9 ) NOT NULL ,
 `city_id` INT( 9 ) NOT NULL ,
 `location_id` INT( 9 ) NOT NULL ,
 `file_id` INT( 9 ) NOT NULL ,
 `title` VARCHAR( 50 ) ,
 `description` TEXT ,
 `date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
 `exp_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ,
 `shop_id` INT( 9 ) NOT NULL ,
 `status` TINYINT( 1 ) NOT NULL ,
PRIMARY KEY (  `offer_id` )
) ENGINE = INNODB DEFAULT CHARSET = latin1 AUTO_INCREMENT =63;

关于MySQL #1064 - 你的 SQL 语法有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21304568/

相关文章:

php - mysql php 内爆行的链接?

PHP Preg 替换之间的行

MYSQL 无重复行 - 具有多个父级的多对多层次结构

sql - "THEN "处或附近的 Postgresql 语法错误

mysql - 使用多个内连接加速 SQL 查询

sql - ActiveRecord 连接

php - 无法连接到 VPS 服务器上的 MySQL

mysql - 当新数据插入表中时发送电子邮件

mysql - 计算第一个数据库表的列中单词的实例并将其添加到另一个表的行中?

mysql - 如何根据列SQL删除重复行