Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Идентификаторы в кавычках и без них (ASKh) 09/09/2006 - 20:31:10
      Re: Идентификаторы в кавычках и без них (bac) 09/09/2006 - 22:22:35

> Original message text:
> From: ASKh - 09/09/2006 - 20:31:10
> Subject:Идентификаторы в кавычках и без них
> -----------------
> Начал изучать MySQL, столкнулся с проблемой - запрос типа CREATE TABLE "my_test" ("id" int, "name" text) не выполняется - только если убрать кавычки (CREATE TABLE my_test (id int, name text)). Однако в этом случае, как я понимаю, запрос будет не кроссплатформенным - в книге по PostgreSQL сказано, что эта база преобразует незащищённые идентификаторы в нижний регистр, а стандарт предполагает преобразование в верхний, и требования стандарта выполняются другими базами (например Oracle). Эксперименты с MySQL показывают, что эта СУБД не преобразует регистр идентификаторов. Получается, что если я возьму идентификатор в кавычки, код не будет работать с MySQL, а если не возьму, то, предполагая, что идентификаторы в нижнем регистре, получу код, по всей видимости не работающий с Oracle, а предполагая, что идентификаторы в верхнем регистре, получу код, не работающий с PostgreSQL. То есть в любом случае я получаю код, который не будет работать по крайней мере с одной СУБД. Регистр идентификатора может быть не важен внутри базы, но если, к примеру, программа на Perl, используя модуль DBI получает результат запроса как хеш, то регистр идентификаторов оказывается важен... В принципе, проблему можно обойти, но может я чего-то не понимаю, и MySQL может работать с идентификаторами с кавычками? Или PostgreSQL можно научить следовать стандарту?
>


From: bac - 09/09/2006 - 22:22:35
Subject:Идентификаторы в кавычках и без них
-----------------
Ну Вы тут и понаписали! ;)

Смею утверждать, что Вам не удастся написать код одинаково хорошо работающий с MySQL, PostgreSQL, Oracle и т.п.
Это первое.
Мне удалось подружить одну задачку с MySQL и PostgreSQL.
Так вот Ваш вопрос насчет кавычек.
У меня все работает без кавычек и там и там.
Но в программе пришлось все-таки анализировать в некоторых местах с какой СУБД работаю. Я уже не говорю о структуре БД.
Она к моему сожелению очень сильно отличается, да и синтаксис DDL разный.



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29629



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |