За последние 24 часа нас посетили 18440 программистов и 1614 роботов. Сейчас ищут 1500 программистов ...

Тире в запросе, как "вылечить" запрос ?

Тема в разделе "MySQL", создана пользователем NR55RU, 9 мар 2012.

  1. NR55RU

    NR55RU Активный пользователь

    С нами с:
    16 фев 2011
    Сообщения:
    88
    Симпатии:
    0
    К примеру есть такой запрос
    SELECT * FROM Base-1.Table;
    MySQL ругается на такой запрос
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1.Table' at line 1

    Как я понял причиной стало именно "тире" в названии базы данных.
    Как можно вылечить запрос ?

    Добавлено спустя 9 минут 1 секунду:
    Вопрос снят, просто попросил MySQL сделать экспорт и посмотрел что он делает с названием базы данных, он заключает ее в обратные кавычки и все. Попробовал, работает.

    Итог такой
    SELECT * FROM `Base-1`.Table;
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Тире - это знак минус, арифметическая операция.

    Для решения - взять название базы в косые кавычки (обычно они слева от цифры 1 при английской раскладке, там где при русской буква ё)

    Добавлено спустя 41 секунду:
    Слегка опоздал :)))
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не должно быть таких ситуаций, когда имя таблицы с номерками зачем-то