2016-11-27 3 views
0

Я выполняю SQL-запросы с использованием phpMYAdmin и получаю синтаксические ошибки при вводе однокамерных ссылок на клавиатуре.Как исправить ошибочную кодировку по умолчанию в phpMyAdmin SQL? (Одиночные кавычки в операторах SQL генерируют синтаксические ошибки)

Когда я использую одиночные кавычки, введенные клавиатурой, в отличие от использования автоматически созданных операторов SQL phpMyAdmin, я получаю синтаксическую ошибку. (Точно такой же оператор SQL, который работает, без проблем, из автогенерированного оператора SQL)

Одиночный кавычек отличается при вводе клавиатурой, а затем те, которые автоматически генерируются phpMyAdmin.

Different Single Quotes causing SQL Syntax Errors

Как вы можете видеть на изображении, одиночные кавычки для «ид», «имя» (котировки, предоставляемые автоматически генерируемой кодом PHPMYADMIN в) отличаются от «3», «Lawyers» (тип одиночных кавычек, которые отображаются при вводе с клавиатуры).

Является ли это плохой настройкой на моем ноутбуке (Windows 10) или в phpMyAdmin?

Как это исправить?

ответ

1

Backticks (`) используются MySQL для указания имен базы данных, таблицы и столбца. Одиночные кавычки (') используются для указания строкового значения. Таким образом, синтаксис, используемый phpMyAdmin, здесь правильный. Проблема, с которой вы сталкиваетесь с SQL, который вы вводите вручную, заключается в том, что MySQL различает обратную линию и одинарную кавычку; здесь используется некоторая одиночная кавычка для имен столбцов.

Вы можете часто опускать обратную сторону целиком; это необходимо конкретно, когда имя базы данных/таблицы/столбца также является ключевым словом MySQL (например, date), и, как вы видели, обычно можно полностью исключить.

Для получения дополнительной информации и списка ключевых слов и зарезервированных слов в MySQL (v5.7) см. 10.3 Keywords and Reserved Words в документации по MySQL.

+0

Ahh..это имеет смысл. Я даже не знаю, где найти «backticks» на моей клавиатуре! Если я правильно понимаю, «backticks» для базы данных, таблиц и столбцов не является необходимым синтаксисом для MySQL, но соглашение, используемое, когда phpMyAdmin автоматически генерирует SQL-запросы (т. Е. Когда я полностью удаляю «backticks» для базы данных, таблицы и/или столбец), SQL-запросы, похоже, выполняются правильно, и я не получаю никаких ошибок. – NivF007

+1

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

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

  • Нет связанных вопросов^_^