2013-06-20 4 views
0

1064 - У Вас есть ошибка в вашем SQL синтаксиса

Я только что сделал новую установку XAMPP и настроили имена пользователей и пароли для phpMyAdmin и mySQL. Пока все хорошо, нет ошибок и все работает нормально. Но когда я иду создавать новую базу данных, создаю новую таблицу или даже отбрасываю таблицу, всегда появляется сообщение об ошибке # 1064.Constant # 1064 ошибка, что я делаю в MySql через PhpMyAdmin

Ошибка при удалении базы данных:

SELECT MAX (версия) FROM.WHERE db_name = 'new_database_test' И table_name = '' И FIND_IN_SET ('DROP DATABASE', слежение)> 0

MySQL сказал:

# 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «WHERE db_name =„new_database_test“И table_name =„“ И FIND_IN_SET (» D»в строке 1

Ошибка при создании база данных:

SQL-запрос: Редактировать

SELECT MAX (версия) FROM.WHERE db_name = 'new_test_db' И table_name = '' И FIND_IN_SET ('CREATE DATABASE', отслеживание)> 0

MySQL сказал:

# 1064 - У Вас есть ошибка в вашем SQL синтаксиса; в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «WHERE db_name =„new_test_db“И table_name =„“И FIND_IN_SET (» СОЗДАТЬ "в строке 1

Ошибка при добавлении таблицы:

SQL-запрос: Редактировать

SELECT MAX (версия) FROM.WHERE db_name = 'new_test_db' И table_name = 'awesome_table' И FIND_IN_SET ('CREATE TABLE', слежение)> 0

MySQL сказал:

# 1064 - У Вас есть ошибка в вашем SQL синтаксиса; в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «WHERE db_name =„new_test_db“И table_name = „awesome_table“И FIND_IN» в строке 1

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

У кого-нибудь есть идея, как это исправить? Я совершенно новичок в mySQL и phpMyAdmin, поэтому не знаю, с чего начать.

Спасибо.

+0

'FROM. WHERE', похоже, будет вашей синтаксической проблемой, должно быть 'FROM WHERE', где должен быть синтаксис. Не то, чтобы я понял, что ваши SQL-запросы относятся к манипулированию базами данных ... –

+0

Я не выполняю эти запросы. Я просто использую phpMyAdmin gui, чтобы попытаться создать таблицу, и она повторяется с теми же самыми ошибками снова и снова. [ссылка] (http://i.imgur.com/ElSy76N.png) – Dairylee

ответ

7

Я видел эту проблему на нескольких машинах моих учеников в этом году, пытаясь научить их базовому SQL, используя XAMPP с PHPMyAdmin в качестве вводного пользовательского интерфейса.

Из сообщения об ошибке видно, что PMA добавлял бессмысленный SQL в конец операторов SQL при попытке открыть определенные таблицы даже при нажатии на их имя на боковой панели.

Отбрасывание базы данных и ее повторное создание не помогли, и, к сожалению, в моем поиске Google не было очевидных ответов.

После определения того, что проблема связана с PMA и, вероятно, связана с конфигурациями, специфичными для пользователя, я немного искал базу данных phpmyadmin.

Я нашел бессмысленный SQL, который добавлялся к запросам в строке в phpmyadmin. pma_table_uiprefs, который связал проблему с именем пользователя моего ученика, а также с конкретной базой данных и именем таблицы, что вызывало у нее проблемы. Джек-пот! Я удалил эту строку.

После удаления этой строки я попытался отключить и перезапустить Apache, MySQL, даже мой веб-браузер, и проблема не устранена. Только после полной перезагрузки ее машины проблема исчезла. (Это была машина для Windows, FWIW, YMMV.)

Надеюсь, это поможет.

Simón Ruiz

Canterbury

Технология

0

вы пропустили название вашей таблицы во всех запросов

 SELECT MAX(version) FROM your_table 
            ^^-----your_table_here 

и вы не должны включать в базу данных или таблицу, в которой положение. вам нужно изучить основы выбора запроса.

+0

Я не выполняю эти запросы. Я просто использую интерфейс phpMyAdmin. например. [link] (http://i.imgur.com/ElSy76N.png) – Dairylee

+0

вы должны ввести 'new_test_db', а затем выбрать max (version), если в этой таблице есть столбец с именем version –

+0

В базе данных нет таблиц. Он не позволит мне добавлять столбцы в таблицы, которые я создаю, - поэтому ни один столбец с именем version. – Dairylee

1

К каждому, кто дает ответы, которые не имеют никакого отношения к вопросу - в PHPMyAdmin есть ошибка - каким-то образом он хранит плохой SQL и добавляет его к каждому запросу, что приводит к ошибке, которую описывает OP, испытывая сейчас! есть одна таблица, в частности, когда я пытаюсь просмотреть ее или выбрать ее, я получаю ошибку 1064 с заметками о запросе, который я не делаю. та часть, где вы видите ANDverifyOptionID>0 не является частью запроса я делаю - я просто нажав на таблицу и попытку просмотреть его:

1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для корректного синтаксиса использовать рядом с «ANDverifyOptionID> 0 LIMIT 0, 30» в строке 1

я подозреваю, что-то кэшируется в PHPMyAdmin, но понятия не имею, где его найти и исправить.

Я очистил куки/перезапущен и не стал любить. другой пользователь смог просмотреть таблицу без проблем, поэтому это должно быть связано с определенной учетной записью пользователя.

Есть ли у PHPMyAdmin кеш-код для каждого пользователя, который может вызвать это?

2

Перейти к таблице phpmyadmin-> pma_table_uiperfs удалить строки, которые содержат ваше имя таблицы. удалить файлы cookie, перезапустить mysql-движок.

0

Что установил ее для меня было:

1. go to table operations (where u clone or rename a table) 
2. click on repair table (right side in table maintenance section) 

EDIT:

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

Смежные вопросы