MySQL зарезервированные имена столбцов

0

Я только что столкнулся с ошибкой в ​​своем личном программном обеспечении CMS, где он сказал бы мне, что процесс сборки базы данных был завершен, но созданная таблица, состоящая только из поля "id". После некоторых проб и ошибок я попытался получить точный запрос, который он использовал и выполнил, и обнаружил, что проблема связана с ошибкой mysql "# 1060 - Дублировать имя столбца" имя ". Я переключил имя столбца, которое я пытался что-то еще, и он работал безупречно. Я уверен, что это не зарезервированное имя столбца, потому что оно используется как таковое на другой таблице в той же самой базе данных. Кто-нибудь еще сталкивался с такой проблемой?

  • 1
    Хм, похоже, что в запросе дважды указывается имя столбца ... вы можете опубликовать скрипт, который вы запускали? Немного сложно диагностировать сценарий, который мы не видим.
Теги:
mysql-error-1060

2 ответа

0

Для зарезервированных имен вы можете писать с помощью `, например:

CREATE TABLE MyTbl (id INT, `name` VARCHAR(80), age INT);

И удалите свой второй столбец с именем name!

0

Вот как вы получите сообщение об ошибке #1060 с сообщением об ошибке.

mysql> CREATE TABLE MyTbl (id INT, name VARCHAR(80), age INT, name VARCHAR(80)); 
ERROR 1060 (42S21): Duplicate column name 'name'

Как вы можете видеть, имя столбца name было использовано дважды.

(Несомненно, это не зарезервированное слово и, конечно же, оно могло работать в другой таблице, где оно имело место только один раз: -)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню