За последние 24 часа нас посетили 22789 программистов и 1142 робота. Сейчас ищут 718 программистов ...

Из MySQL в PostgreSQL - стремные ошибки

Тема в разделе "PostgreSQL", создана пользователем aptah, 15 май 2016.

Метки:
  1. aptah

    aptah Новичок

    С нами с:
    15 май 2016
    Сообщения:
    2
    Симпатии:
    0
    Привет, ребята. Я уже выбился из сил и никак не могу найти решение для простой казалось бы задачи.
    Делал задание на фрилансе (SQL+PHP) и попал в небольшой просак.

    В общем есть код, который добавляет/изменяет строку в базе данных, все просто.
    Но оказалось, в последний момент, что у заказчика используется PostgreSQL в то время, как я делал все под MySQL. И теперь я не могу подогнать их под его нужды. В чем может быть проблема в этом запросе ниже?

    ОШИБКА: столбец "IGSTP" не существует LINE 1: DELETE FROM stock WHERE user_id = 2 AND exchange = "IGSTP"
    DELETE FROM stock WHERE user_id = 2 AND exchange = "IGSTP" при том что это значение 100% есть в базе, но оно его почему-то считает за столбец?
     
  2. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Потому что в SQL строки ограничиваются одинарными кавычками. А двойными - эскейпятся названия таблиц и полей.
     
  3. aptah

    aptah Новичок

    С нами с:
    15 май 2016
    Сообщения:
    2
    Симпатии:
    0
    Друг! Спасибо тебе огромное!
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    обратными
     
  5. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    28
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Кавычками обратными
     
  7. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Или в пг не так?
     
  8. MiksIr

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

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Обратные - только MySQL.
    В ANSI SQL не так, я не зря написал "в SQL". Если в MySQL включить режим совместимости с ANSI SQL, то тоже будет такое поведение.
    PostgreSQL тут соответствует ansi.