Можно ли использовать число для имени столбца таблицы MySQL?
у меня есть таблица с именами столбцов, такими как 25, 50, 100 и т. д..
при попытке обновить таблицу я получаю ошибку, независимо от того, как я это делаю
UPDATE table SET '25'='100' WHERE id = '1'
Я пробовал цитировать и backticking каждый путь, но безуспешно.
ошибка всегда находится по строкам:
у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса для использования рядом с " 25 ' =100, где id=1 ' в строке 1
Если я изменю имя столбца на
5 ответов
С документы:
идентификаторы могут начинаться с цифры, но если кавычки не могут состоять только из цифр.
что означает, что вы должны процитировать его с задними тиками, такими как`25':
UPDATE table SET `25`='100' WHERE id='1'
Как говорили другие, вы можете поставить галочку имена таблиц, столбцов и т. д. Просто убедитесь, что вы не тикаете значения в противном случае он будет интерпретировать их как имена столбцов. Таким образом, в вашем примере только 25 должны быть отмечены галочкой:
UPDATE table SET `25`=100 WHERE id=1
Если вам нужно, чтобы он был основан на номере по какой-либо причине, вы можете добавить к номеру простой префикс во всех случаях (например, "col25", "col87" и т. д.).
, проверьте здесь: http://dev.mysql.com/doc/refman/5.0/en/identifiers.html
идентификаторы могут начинаться с цифры, но если кавычки не могут состоять исключительно цифр.
Так что да, вы можете это сделать-вам нужно использовать backtics вокруг имени.
имена в MySQL can старт С цифры, но не может быть полностью цифры - их нельзя спутать с целым числом. Так что нет.
и если вы начинаете свой идентификатор с цифры, вы должны быть уверены, что вы придерживаетесь MySQL, потому что многие (большинство?) для других ядер баз данных требуется Альфа-символ в начале имен столбцов.
(Как указано в комментариях, полностью целое имя столбца is разрешается, если вы последовательно используйте символ backtick - если вы пробовали backticks и все еще получили синтаксическую ошибку, опубликуйте точный синтаксис backtick, который вы использовали).
кроме того, конечно, вы собираетесь создать некоторые трудные для чтения SQL, если вы выберете целочисленные столбцы!