WedX - журнал о программировании и компьютерных науках

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

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

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

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

Я пробовал цитировать и ставить кавычки во все стороны, но безуспешно.

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

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

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

02.11.2011

  • Я предоставил ответ, но я все же хотел бы сказать, что я думаю, что использование числовых имен полей немного неортодоксально, и я бы предпочел просто префикс полей. 02.11.2011
  • обратитесь к этому сообщению, stackoverflow.com/questions/41711470/ 05.05.2017

Ответы:


1

Из документов:

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

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

UPDATE table SET `25`='100' WHERE id='1'
02.11.2011
  • Спасибо. Прочитав некоторые, я согласен с тем, что префикс столбца - лучшая практика. 02.11.2011

  • 2

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

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

    3

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

    02.11.2011
  • Число в порядке, если вы правильно цитируете вещи. 15.08.2018

  • 4

    Проверьте здесь: https://dev.mysql.com/doc/refman/5.0/en/identifiers.html

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

    Так что да, вы можете это сделать — вам нужно использовать бэктик вокруг имени.

    02.11.2011

    5

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

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

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

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

    02.11.2011
  • Вы уверены, что? Я только что создал таблицу с именем 1 со столбцом с именем 2, конечно, мне пришлось широко применять обратные кавычки. 02.11.2011
  • Это не так в MySQL. ;) 02.11.2011
  • Действительно, вы оба правы (документация по MySQL лучше, чем на informit.com). 02.11.2011
  • Новые материалы

    Как создать диаграмму градиентной кисти с помощью D3.js
    Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


    Для любых предложений по сайту: [email protected]