ПОМОГИТЕ найти ошибку в синтаксисе MySQL

Статус
В этой теме нельзя размещать новые ответы.

andre740

Постоялец
Регистрация
17 Апр 2006
Сообщения
523
Реакции
126
У меня проблема:
При выполнении запроса к базе:

CREATE TABLE `dle_referals` (
`id` int(11) unsigned NOT NULL auto_increment,
`user_id` int(11) NOT NULL default '',
`ip` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`)
UNIQUE KEY `id` (`id`)
);
ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0';

****
Выдает ошибку:
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 'UNIQUE KEY `id` (`id`)
)' at line 6
***
Где что неправильно?
 
здесь
Код:
`ip` varchar(15) NOT NULL default '',
запятая в конце не лишняя будет?
 
Код:
CREATE TABLE `dle_referals` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` ) 
)
ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0';

Ты после PRIMARY KEY ( `id` ) запятую пропустил...
 
Код:
CREATE TABLE `dle_referals` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` ) 
)
ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0';

Ты после PRIMARY KEY ( `id` ) запятую пропустил...


Добавил запятую. Вот что теперь пишет:

Ошибка

SQL-запрос:

CREATE TABLE `dle_referals` ( `id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` )
) ALTER TABLE `dle_users` ADD `referals` INT( 11 ) NOT NULL default '0'


Ответ MySQL: Для просмотра ссылки Войди или Зарегистрируйся
#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 'ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default
 
перед ALTER TABLE нужно поставить точку с запятой

ЗЫ: учите sql, это же самое элементарное:read:
 
ВСЕ!
Нашел ошибку..
Надо было тут 2 запроса сделать..:
Первый:

CREATE TABLE `dle_referals` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` )
)

И второй:

ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0'


Всем спасибо!
 
ВСЕ!
Нашел ошибку..
Надо было тут 2 запроса сделать..:
Первый:

CREATE TABLE `dle_referals` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` )
)

И второй:

ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0'


Всем спасибо!

Правильно 2-а запроса, просто каждый запрос должен заканчиваться точкой с запятой:
CREATE TABLE `dle_referals` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`user_id` int( 11 ) NOT NULL default '',
`ip` varchar( 15 ) NOT NULL default '',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` )
);
ALTER TABLE `dle_users` ADD `referals` INT(11) NOT NULL default '0';
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху