Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка сервера MySQL #1064 ПОМОГИТЕ!
 
 автор: webantis   (24.08.2005 в 09:15)   письмо автору
 
 

MySQL сервер совсем не хочет принимать мой дамп. Помогите мне, а то я совсем не разбираюсь что и как в этих таблицах. Вот код:

check int (20) default NULL,
reg_date datetime NOT NULL default '0000-00-00 00:00:00',
max_shows int(4) default '1000',
url_show int(1) default '1',
url_hide int(1) default '0',
spend_cr decimal(3,1) default '1.0',
num int(2) default NULL,
auto int(1) default '1',
send int(1) default '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 'check int (20) default NULL,
reg_date datetime NOT NUL
Помогите, пожалуйста, с этой проблемой.

   
 
 автор: cheops   (24.08.2005 в 12:43)   письмо автору
 
   для: webantis   (24.08.2005 в 09:15)
 

Вы отрезали самое интересное :))), то что перед check int(20) default NULL - приведите пожалуйста хотя бы две строки перед этой строкой.

   
 
 автор: webantis   (24.08.2005 в 13:15)   письмо автору
 
   для: cheops   (24.08.2005 в 12:43)
 

CREATE TABLE users (
id int(11) NOT NULL auto_increment,
login char(15) default NULL,
pwd char(15) default NULL,
email char(50) default NULL,
url char(100) default NULL,
credits decimal(12,2) default '0.00',
usedtoday int(11) default '0',
usedyday int(11) default '0',
used int(11) default '0',
looktoday int(11) default '0',
lookyday int(11) default '0',
look int(11) default '0',
agent char(15) default '0',
a_credit decimal(12,2) default '0.00',
max_time int(3) default '30',
serf_stat char(20) default 'Дом.',
check int(20) default NULL,
reg_date datetime NOT NULL default '0000-00-00 00:00:00',
max_shows int(4) default '1000',
url_show int(1) default '1',
url_hide int(1) default '0',
spend_cr decimal(3,1) default '1.0',
num int(2) default NULL,
auto int(1) default '1',
send int(1) default '1',
PRIMARY KEY (id)
) TYPE=MyISAM;

   
 
 автор: cheops   (24.08.2005 в 13:31)   письмо автору
 
   для: webantis   (24.08.2005 в 13:15)
 

Хм... Моя MySQL 4.0.24 сообщает, что не может создать таблицу, из-за поля check, так как в MySQL имеется такой SQL-опратор, после переименования этого поля таблица создаётся без проблем. Но у меня ошибка содержала не 'check int (20) default NULL,', а 'int (20) default NULL,' - скорее всего в вашем случае не нравится русское слово 'Дом' - вы каким клиентом пользуетесь?

   
 
 автор: webantis   (24.08.2005 в 17:40)   письмо автору
 
   для: cheops   (24.08.2005 в 13:31)
 

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

   
 
 автор: cheops   (24.08.2005 в 20:14)   письмо автору
 
   для: webantis   (24.08.2005 в 17:40)
 

А на check1, обычно когда возникают такие проблемы, а менять имя столбца уже нельзя, создаётся таблица с именем заменителем (check1), которое затем меняется на исходное имя (check) при помощи оператора ALTER TABLE - вообще-то использование зарезервированных имён в качестве названий таблиц и столбцов не возбраняется, но некоторые клиенты стараются не допускать такой возможности (phpMyAdmin особенно этим славен).

   
 
 автор: webantis   (24.08.2005 в 23:30)   письмо автору
 
   для: cheops   (24.08.2005 в 20:14)
 

2.6.3-pl это версия phpMyAdmin. А других советов нету :-)

   
 
 автор: cheops   (25.08.2005 в 00:58)   письмо автору
 
   для: webantis   (24.08.2005 в 23:30)
 

Ну в phpMyAdmin вообще шикарно можно развернуть таблицу, переименуйте в операторе CREATE TABLE check на check1, а потом пройдите в пункт меню "Структура" и произведите обратную операцию - смените имя check1 на check.

   
 
 автор: webantis   (25.08.2005 в 08:20)   письмо автору
 
   для: cheops   (25.08.2005 в 00:58)
 

Да, но мне не нужна таблица check, мне нужен пункт в уже готовой таблице “users” check int (20) default null

   
 
 автор: cheops   (25.08.2005 в 12:07)   письмо автору
 
   для: webantis   (25.08.2005 в 08:20)
 

Но как раз после этого преобразование у вас и будет check int (20) default null...

   
 
 автор: webantis   (25.08.2005 в 13:47)   письмо автору
 
   для: cheops   (25.08.2005 в 12:07)
 

Что то не очень понятно как это сделать.

   
 
 автор: cheops   (25.08.2005 в 22:17)   письмо автору
 
   для: webantis   (25.08.2005 в 13:47)
 

Т.е. в phpMyAdmin вы выполняете следующий запрос
CREATE TABLE users (
id int(11) NOT NULL auto_increment,
login char(15) default NULL,
pwd char(15) default NULL,
email char(50) default NULL,
url char(100) default NULL,
credits decimal(12,2) default '0.00',
usedtoday int(11) default '0',
usedyday int(11) default '0',
used int(11) default '0',
looktoday int(11) default '0',
lookyday int(11) default '0',
look int(11) default '0',
agent char(15) default '0',
a_credit decimal(12,2) default '0.00',
max_time int(3) default '30',
serf_stat char(20) default 'Дом.',
check1 int(20) default NULL,
reg_date datetime NOT NULL default '0000-00-00 00:00:00',
max_shows int(4) default '1000',
url_show int(1) default '1',
url_hide int(1) default '0',
spend_cr decimal(3,1) default '1.0',
num int(2) default NULL,
auto int(1) default '1',
send int(1) default '1',
PRIMARY KEY (id)
) TYPE=MyISAM;

который создаст таблицу с ненужным вам check1 int(20) default NULL, после чего вы идёте в структуру таблицы и меняете имя столбца check1 на check - в результате у вас получается нужная вам таблица с полем check int(20) default NULL.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования