Подтвердить что ты не робот

Можно ли использовать число, чтобы назвать столбец таблицы MySQL?

У меня есть таблица с именами столбцов, такими как 25, 50, 100 и т.д.

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

UPDATE table SET '25'='100' WHERE id = '1'

Я пробовал цитирование и поддержку в любом случае, но безуспешно.

Ошибка всегда по строкам:

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' 25 '= 100 WHERE id = 1' в строке 1

Если я изменил имя столбца на twentyfive - у меня нет проблемы, но это не то, что я хочу. Можно ли использовать число как имя столбца?

4b9b3361

Ответ 1

От документы:

Идентификаторы могут начинаться с цифры, но если цитируемый текст не может состоять только из цифр.

Это означает, что вы должны процитировать его с обратными тиками типа `25`:

UPDATE table SET `25`='100' WHERE id='1'

Ответ 2

Если вам по какой-то причине необходимо, чтобы он был основан на номере, вы можете добавить какой-нибудь простой префикс к числу во всех случаях (например, "col25", "col87" и т.д.).

Ответ 3

Как уже говорили другие, вы можете указывать имена таблиц, столбцов и т.д. Просто убедитесь, что вы не отбрасываете свои значения, иначе они будут интерпретировать их как имена столбцов. Поэтому в вашем примере только 25 должны быть отмечены галочкой:

UPDATE table SET `25`=100 WHERE id=1

Ответ 4

Отметьте здесь: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html

Идентификаторы могут начинаться с цифры, но если цитируемый текст не может состоять только цифры.

Итак, да, вы можете это сделать - вам нужно использовать backtics вокруг имени.

Ответ 5

Имена в MySQL могут начинаться с цифры, но не могут быть полностью цифрами - они не могут смешиваться с целым числом. Итак, нет.

И если вы начинаете свой идентификатор с цифры, вы должны быть уверены, что придерживаетесь MySQL, потому что многие (большинство?) других движков базы данных требуют альфа-символа перед именами столбцов.

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

Кроме того, конечно, вы собираетесь создать трудный для чтения SQL, если вы выберете столбцы с целыми именами!