Как исправить синтаксическую ошибку в команде SQL?

Ссылка скопирована
1 ответ

Есть вот такая команда:

CREATE DATABASE IF NOT EXISTS "7281_pav" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE DATABASE IF NOT EXISTS "7281_pav" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

И вот такая ошибка:

Parse error: syntax error, unexpected 'DATABASE' (T_STRING)

Parse error: syntax error, unexpected 'DATABASE' (T_STRING)

Как я понял, там синтаксическая ошибка со словом DATABASE, но я ее не вижу.

Дополнительно:

Дело точно не в кавычках?

  • v3shin, ну я сейчас попробовал несколько вариантов, брал 7281_pav в ординарные и двойные кавычки, пробовал также со всем запросом
  • А косые не пробовали? =)
    `
    Или совсем без них.
  • v3shin, Сейчас попробовал)

    Как исправить синтаксическую ошибку в команде SQL?

  • Андрей Фомин, а так работает?
    CREATE DATABASE "7281_pav" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    CREATE DATABASE "7281_pav" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  • mayton2019, попробовал - не сработало
  • Андрей Фомин, какая ошибка? Предположительно имя БД не может начинатся с цифр. Такое часто бывает. С идентификаторами.

    Такие они злые. Идентификаторы. Поэтому пробуй сразу без цифр.

  • mayton2019, К сожалению я только предположил, что проблема с DATABASE
    Ну у меня сработала команда, я прописал вот так:
    'CREATE DATABASE "pav_7281" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci';

    'CREATE DATABASE "pav_7281" DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci';

  • Андрей Фомин, я пишу это как действующий ответ. Далее - пускай сообщество решает голосованием.
  • Проблема - с PHP. Об этом просто-таки кричит сообщение об ошибке.
    Не надо искать источник проблемы и способ исправления на стороне MySQL.
  • Akina, а про что вы конкретно говорите?
    Можно поподробнее узнать?
  • Андрей Фомин, к слову, посмотрите чем отличается utf8 от utf8mb4, вполне возможно вам нужна именно utf8mb4
  • Андрей Фомин,

    Вы получаете сообщение об ошибке Parse error: syntax error, unexpected 'DATABASE' (T_STRING).

    Это сообщение об ошибке - производства PHP. Он обнаружил что-то неправильное в Вашем коде. Ещё до того, как что-то было отправлено на MySQL-сервер. То есть MySQL даже не в курсе, что его хотели попросить создать базу данных.

    Так что не надо делать глупых предположений о проблемах со словом DATABASE. Выложите PHP-код, который намерен выполнить запрос - сто пудов там обнаружится какая-нибудь синтаксическая ошибка...

    Как исправить синтаксическую ошибку в команде SQL?

    Ошибка не в команде SQL, а в том, как Вы пытаетесь её выполнить средствами PHP.

  • Ответы:

    Надо сделать так.

    CREATE DATABASE pav_7281 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

    CREATE DATABASE pav_7281 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

    UPD:

    • нееее. надо просто убрать кавычки
    • Дмитрий, fixed
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для исправления синтаксической ошибки в команде SQL вам нужно приступить к анализу ошибки и понять, в чем именно заключается проблема. Вот несколько шагов, которые могут помочь вам исправить такие ошибки:

    1. Проверьте правильность написания команды SQL. Убедитесь, что все ключевые слова, таблицы и поля указаны правильно и не содержат опечаток.

    2. Проверьте правильность использования кавычек. Если вы используете строки в SQL запросе, убедитесь, что они заключены в одинарные или двойные кавычки в зависимости от используемой базы данных.

    3. Проверьте правильность использования операторов. Убедитесь, что операторы условий, сортировки и группировки данных используются правильно и не содержат ошибок.

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

    5. Используйте инструменты для анализа SQL запросов, такие как SQL Fiddle или SQL Formatter, чтобы проверить правильность запроса и обнаружить возможные ошибки.

    Приведу пример кода на языке PHP с использованием тега

     для демонстрации исправления синтаксической ошибки в команде SQL:
     
    <pre lang="php">
    $query = "SELECT * FROM users WHERE name = 'John';";

    для демонстрации исправления синтаксической ошибки в команде SQL: <pre lang="php"> $query = "SELECT * FROM users WHERE name = 'John';";

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

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно