MySql ошибка в синтаксисе - PullRequest
0 голосов
/ 25 января 2012

Я пытаюсь создать эти две таблицы для простого скрипта, который я скачал, но при запуске команды 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

И следующее для 2-й таблицы:

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

Если бы кто-нибудь мог быть так любезен, чтобы помочь мне, я был бы очень признателен.

Спасибо

Ответы [ 4 ]

2 голосов
/ 25 января 2012

Вы просто пропускаете запятую после 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

0 голосов
/ 25 января 2012
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) 
);
0 голосов
/ 25 января 2012

Синтаксическая проблема заключается в том, как вы вводите первичный и другой ключ.

Primary Key (id),

Поставьте запятую после этого.

0 голосов
/ 25 января 2012

Я думаю, вы просто пропустили запятую после строки PRIMARY KEY ('id').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...