[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Имена и поля таблиц прописными буквами
Paul_13
Подскажите плиз, простенький вопросик, недавно начал изучать php. База Постгре - скрипты выполняются только по таблицам, у которых имена и поля прописными буквами. Если всречаются заглавными говорит что объект не найден.



Спустя 57 минут, 34 секунды (22.03.2010 - 10:26) sergeiss написал(а):
Чего-то не понял... Я сейчас зашел в БД, создал таблицу, указал названия колонок по-разному - одни только заглавными, другие - смесь заглавных и строчных букв.
Но потом я уже не вижу, какие буквы были в команде создания, все буквы - строчные!
И команды на ввод и выборку данных проходят без проблем с указанием колонок строчными буквами.

Система - Винда, версия Постгре - 8.4.

И кстати, уточнение насчет терминологии wink.gif Заглавные - они же и есть прописные (синонимы!!!). А мелкие - это строчные. http://ru.wikipedia.org/wiki/Заглавная_буква

Спустя 45 минут, 58 секунд (22.03.2010 - 11:12) Paul_13 написал(а):
Сорри за терминологию smile.gif
У меня тоже винда, Постгре 8.3

Например, такая ситуация. Есть таблица Price.
если выполнить простенький скрипт
<?php
$connection = pg_connect ( "host=localhost port=5432 dbname=basa user=users password=" );
echo pg_last_error().'<br>';
$result=pg_query($connection,"select * from Price;");
?>
, то выдает ошибку Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "price" does not exist

если же переименовать таблицу Price в price, то выполняется без проблем. вот не пойму - это какие то настройки Постгре?

Спустя 2 часа, 43 минуты, 1 секунда (22.03.2010 - 13:55) olgatcpip написал(а):
may be..
$result=pg_query($connection,"select * from \"Price\";");

try

Спустя 8 минут, 53 секунды (22.03.2010 - 14:04) sergeiss написал(а):
Я проверил совет... Действительно, так и есть!

Я не знаю, как там создавалась таблица Price, а я при создании таблицы никогда не указываю имена в кавычках. Возможно поэтому они и преобразуются в нижний регистр (автоматически).
А сейчас создал не table25, а "TABle25" - и всё, такой же ступор наступил, как у ТС. Постгре требует указывать имя таблицы строго так, как она была создана.

Похоже, что это "не бага, а фича". Но вот я, например, с этим раньше не сталкивался. Так что спасибо и Ольге, и Павлу smile.gif Одному за вопрос, другой за ответ.

Спустя 5 часов, 5 минут, 7 секунд (22.03.2010 - 19:09) olgatcpip написал(а):
sergeiss Пожалуйста, очень приятно быть полезной smile.gif

Спустя 1 день, 14 часов, 12 минут, 5 секунд (24.03.2010 - 09:21) yok написал(а):
Насчет регистра, конкретно в mysql, зависит от ОС сервера, в винде обычно не учитывается в UNIX обычно да, поэтому рекомендация в книге читал, имя таблицы всегда в нижнем регистре.

Спустя 12 минут, 48 секунд (24.03.2010 - 09:34) sergeiss написал(а):
Цитата (yok @ 24.03.2010 - 10:21)
Насчет регистра, конкретно в mysql....

А ничего, что автор про Постгре спрашивал? wink.gif

Спустя 18 часов, 2 минуты, 9 секунд (25.03.2010 - 03:36) Paul_13 написал(а):
Спасибо большое, Ольга и Сергей. Действительно, работает smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.