Ошибка sql 42000
Форум пользователей MySQL
Задавайте вопросы, мы ответим
Страниц: 1
#1 22.11.2010 05:31:00
ERROR 1064 (42000) Я Полный чайник
Прошу прощения у уважаемых пользователей, но я полный чайник, и почитав статьи по основам, не понимаю причины происхождения данной ошибки:
ERROR 1064 (42000): 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 ‘IF EXISTS’ at line 1
Стоит MySQL 5.1
Импортирую схему именно для MySQL, правда, для какой версии — точно не знаю
Подскажите, где ошибка в синтаксисе, и как он должен выглядеть, либо киньте ссылку, на поддерживаемые функции данной версии и их описание, пожалуйста
Комментарий модератора.
В статье ERROR 1064 (42000) объясняется, что означает ошибка сервера MySQL №1064, рассматриваются типичные ситуации и причины возникновения этой ошибки, а также даются рекомендации по исправлению.
Отредактированно NewUse (22.11.2010 05:31:34)
#2 22.11.2010 06:42:48
Re: ERROR 1064 (42000) Я Полный чайник
#3 23.11.2010 01:50:30
Re: ERROR 1064 (42000) Я Полный чайник
Да, спасибо, заработало, помогите, пожалуйста исправить ещё одну ошибочку такого же типа (несовместимость версий):
Сайтик под предположительно php4+MySQL — версия ранняя 2004г или ранее:
while ( $row = $query -> fetchRow ( ) ) <
unset ( $ROW ) ;
$row [ packet ] = «$row[packet] n » ;
$TMP_ROW = «» » . $INDEX_PAGE [ edit ] . » » border=0> n » ;
if ( $row [ action ] > 0 ) <
$TMP_ROW .= » | » » . $INDEX_PAGE [ price ] . » » border=0> n » ;
>
$TMP_ROW .= » | » » . $NIBS_TEXT [ delete ] . » » border=0> n » ;
$row [ action ] = $TMP_ROW ;
$count = $db -> getRow ( «select count($username) as $username from users where g > ) ;
$row [ num_users ] = $count [ $username ] ;
$TOTAL_USER += $count [ $username ] ;
$TRAF_ARRAY = $db -> GetRow ( «select sum(in_bytes) as in_bytes, sum(out_bytes) as out_bytes from » .NIBS_ACCT_TABLE. » where g >. $row [ g >] ) ;
$row [ g >] = round ( $TRAF_ARRAY [ in_bytes ] / ( 1024 * 1024 ) , $ROUND_DIGIT ) . «/» ;
$row [ g >] .= round ( $TRAF_ARRAY [ out_bytes ] / ( 1024 * 1024 ) , $ROUND_DIGIT ) ;
$TOTAL_IN += $TRAF_ARRAY [ in_bytes ] ;
$TOTAL_OUT += $TRAF_ARRAY [ out_bytes ] ;
while ( list ( $key , $val ) = each ( $row ) ) <
if ( $HEADER ) <
$TMP_HEADER [ ] = array ( VARS => $NIBS_TEXT [ $key ] ,
TD_CLR => HDR_CLR,
TH => true ) ;
>
$ROW [ ] = array ( VARS => $val ,
TD_PAR => «align=middle» ,
TD_CLR => DEF_CLR ) ;
>
if ( $HEADER ) <
$HEADER = false ;
$ARRAY [ ] = $TMP_HEADER ;
>
$ARRAY [ ] = $ROW ;
PHP Fatal error: Call to a member function fetchRow() on a non-object in /usr/local/www/data/index.php on line 13
#4 23.11.2010 01:59:31
Re: ERROR 1064 (42000) Я Полный чайник
Как следует из текста ошибки — Вы пытаетесь вызвать метод у сущности,
не являющейся объектом. Задавайте, пожалуйста, вопросы по PHP на
webew.ru.
#5 23.11.2010 15:28:00
Re: ERROR 1064 (42000) Я Полный чайник
Спасибо, а такой синтаксис в MySQL5 допустим?
Не создаётся база данных
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщения 6
#1 Ответ от Хмурый 3 октября 2006 12:04:00
- Хмурый
- Участник
- Неактивен
- На форуме с 3 октября 2006
- Сообщений: 4
Re: Не создаётся база данных
е могу создать базу данных в ознакомительной версии.
SQL Server Error: SQL State: 42000, SQL Error Code: 1802
CREATE DATABASE failed. Some file names listed could not be created. Check previous errors.
SQL State: 42000, SQL Error Code: 5170
Cannot create file ‘C:Program FilesMicrosoft SQL ServerMSSQLDataIndustriCS.mdf’ be
create database [IndustriCS] collate Cyrillic_General_CI_AS
Win XP SP2
TechnologicCS v 4.6.3.0(8476)
#2 Ответ от Владимир Белов 3 октября 2006 12:25:00
- Владимир Белов
- Участник
- Неактивен
- На форуме с 2 декабря 2005
- Сообщений: 62
Re: Не создаётся база данных
Хмурый писал(а):
Не могу создать базу данных в ознакомительной версии.
SQL Server Error: SQL State: 42000, SQL Error Code: 1802
CREATE DATABASE failed. Some file names listed could not be created. Check previous errors.
SQL State: 42000, SQL Error Code: 5170
Cannot create file ‘C:Program FilesMicrosoft SQL ServerMSSQLDataIndustriCS.mdf’ be
===
create database [IndustriCS] collate Cyrillic_General_CI_AS
Код ошибки говорит, что такой файл уже существует. Убедитесь, что вы устанавливаете новую копию базы данных, а не поверх существующей.
#3 Ответ от Хмурый 3 октября 2006 12:33:00
- Хмурый
- Участник
- Неактивен
- На форуме с 3 октября 2006
- Сообщений: 4
Re: Не создаётся база данных
Спасибо. Проблема решилась. Описание здесь
#4 Ответ от Митюгов Денис 3 октября 2006 14:44:00
- Митюгов Денис
- Участник
- Неактивен
- На форуме с 2 октября 2006
- Сообщений: 14
Re: Не создаётся база данных
Хмурый писал(а):
е могу создать базу данных в ознакомительной версии.
SQL Server Error: SQL State: 42000, SQL Error Code: 1802
CREATE DATABASE failed. Some file names listed could not be created. Check previous errors.
SQL State: 42000, SQL Error Code: 5170
Cannot create file ‘C:Program FilesMicrosoft SQL ServerMSSQLDataIndustriCS.mdf’ be
create database [IndustriCS] collate Cyrillic_General_CI_AS
Win XP SP2
TechnologicCS v 4.6.3.0(8476)
На сайте описаны оптимальные настройки MS для работы с ТКС
см. СВОЙСТВА создаваемой БД.
В менеджере MS_SQL надо-бы ее создать ручками с требуемым именем.
Для «SA» поставить «OWNER»
В таблице мастер идентичные настройки — она уже создана при установке MS_SQL .
Я так делаю .
#5 Ответ от Владимир Белов 3 октября 2006 14:51:00
- Владимир Белов
- Участник
- Неактивен
- На форуме с 2 декабря 2005
- Сообщений: 62
Re: Не создаётся база данных
Митюгов Денис писал(а):
Я так делаю .
Не надо руками лазить в базу данных, она по умолчанию создается с правильными настройками. Эти настройки не просто оптимальные, а необходимые для правильной работы!
#6 Ответ от Владимир Белов 3 октября 2006 14:59:00
- Владимир Белов
- Участник
- Неактивен
- На форуме с 2 декабря 2005
- Сообщений: 62
Re: Не создаётся база данных
Митюгов Денис писал(а):
На сайте описаны оптимальные настройки MS для работы с ТКС
см. СВОЙСТВА создаваемой БД.
В менеджере MS_SQL надо-бы ее создать ручками с требуемым именем.
База данных IndustriCS создается только(!) программой установки TCS, существующая база данных будет удалена, а на ее месте создана новая, с правильными настройками. После установки можно только проверить, что все ОК в соответствии с документацией.
Митюгов Денис писал(а):
Для «SA» поставить «OWNER»
В таблице мастер идентичные настройки — она уже создана при установке MS_SQL .
База данных master может иметь много отличий от БД IndustriCS, хотя бы тот же collation order! Их ни в коем случае нельзя подстраивать друг под друга, потому что это совершенно разные вещи (master — это уровень сервера MSSQL, а IndustriCS — только БД TCS), особенно, если вы не уверены в том, для чего это делается.