语法中的MySql错误

时间:2012-01-25 03:46:51

标签: mysql syntax

我正在尝试为我下载的简单脚本创建这两个表但是在运行sql命令时它会返回语法错误。

我得到的错误是:

CREATE TABLE `usrsig` (
  `id` int(9) NOT NULL auto_increment,
  `url` varchar(255) default NULL,
  `user` int(9) NOT NULL default '0',
  PRIMARY KEY  (`id`)
  KEY `user_own` (`user`) 
);

#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 'KEY `user_own` (`user`) )' at line 6

以下是第二个表格:

CREATE TABLE `usruser` (
  `id` int(9) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `pass` varchar(30) default NULL,
  `last` datetime default NULL,
  `hits` int(9) NOT NULL default '0',
  PRIMARY KEY  (`id`)
  KEY `name_index` (`name`) 
);

#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 'KEY `name_index` (`name`) )' at line 8

如果有人能帮助我,我会非常感激。

由于

5 个答案:

答案 0 :(得分:2)

您在PRIMARY KEY (id)

之后错过了一个逗号
CREATE TABLE `usrsig` (
  `id` int(9) NOT NULL auto_increment,
  `url` varchar(255) default NULL,
  `user` int(9) NOT NULL default '0',
  /* Comma needed... */
  PRIMARY KEY  (`id`),
  KEY `user_own` (`user`) 
);


CREATE TABLE `usruser` (
  `id` int(9) NOT NULL auto_increment,
  `name` varchar(30) NOT NULL default '',
  `pass` varchar(30) default NULL,
  `last` datetime default NULL,
  `hits` int(9) NOT NULL default '0',
  /* Comma needed... */
  PRIMARY KEY  (`id`),
  KEY `name_index` (`name`) 
);

作为提示,大约99%的时间,MySQL报告的错误在确定的位置之前恰好出现一个字符。因此,在KEY name_index之前查看一个字符或符号:

  

查看与您的MySQL服务器版本对应的手册,以便在'KEY name_index附近使用正确的语法

答案 1 :(得分:0)

我认为你只是在PRIMARY KEY('id')行之后错过了一个逗号。

答案 2 :(得分:0)

您放置主键和其他键的方式是语法问题。

Primary Key (id),

在此之后加上逗号。

答案 3 :(得分:0)

CREATE TABLE usrsig (
  id int(9) NOT NULL  AUTO_INCREMENT,
  url varchar(255) DEFAULT NULL,
  user int(9) NOT NULL DEFAULT 0,
  PRIMARY KEY  (id),
  KEY user_own (user) 
);

CREATE TABLE usruser (
  id int(9) NOT NULL  AUTO_INCREMENT,
  name varchar(30) NOT NULL DEFAULT '',
  pass varchar(30) DEFAULT NULL,
  last datetime DEFAULT NULL,
  hits int(9) NOT NULL DEFAULT 0,
  PRIMARY KEY  (id),
  KEY name_index (name) 
);

答案 4 :(得分:0)

任何主键错误 - 修复

//全部删除

  1. 删除数据库

  2. 移除迁移

  3. 移除迁移

  4. 移除迁移 直到您清除所有迁移

  5. 添加迁移

  6. 更新数据库

成功