Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2011, 16:56   #1
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Уже получил ответ.
Цитата:
Когда ты не используешь кавычки, считается, что имена регистронезависимые (по факту они приводятся к нижнему регистру).
Следовательно
Код:
INSERT INTO log ( GUID, client_id) VALUES ('4A8B93D4-5AC6-11E0-BD32-2A026C720FFE', '1' )
применяется как
Код:
INSERT INTO log ( guid, client_id) VALUES ('4A8B93D4-5AC6-11E0-BD32-2A026C720FFE', '1' )
ssdm вне форума Ответить с цитированием
Старый 30.03.2011, 19:44   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию Проблема при Insert. Postgres.

Здравствуйте.
Вот дамп таблицы
Код:
SET statement_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
CREATE TABLE log (
    "GUID" character varying(36) NOT NULL,
    client_id bigint NOT NULL,
    "timestamp" timestamp without time zone DEFAULT now() NOT NULL
);
ALTER TABLE public.log OWNER TO ***;
ALTER TABLE ONLY log
    ADD CONSTRAINT log_pkey PRIMARY KEY ("GUID");
CREATE INDEX log_idx_client_id ON log USING btree (client_id);
ALTER TABLE ONLY log
    ADD CONSTRAINT log_client_id_fkey FOREIGN KEY (client_id) REFERENCES clients(id) DEFERRABLE;
При таком запросе
Код:
INSERT INTO log ( GUID, client_id) VALUES ('4A8B93D4-5AC6-11E0-BD32-2A026C720FFE', '1' )
ругается :
Код:
ERROR:  column "guid" of relation "log" does not exist
LINE 1: INSERT INTO log ( GUID, client_id) VALUES ('4A8B93D4-5AC6-11...
                          
В операторе:
INSERT INTO log ( GUID, client_id) VALUES ('4A8B93D4-5AC6-11E0-BD32-2A026C720FFE', '1' )
Если атрибут GUID определить в нижнем регистре, то все работает.
В Postgres нельзя использовать атрибуты( или PK) в верхнем регистре ?
ssdm вне форума Ответить с цитированием
Старый 30.03.2011, 20:59   #3
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

видимо, весь прикол именно в создании поля таким образом
Цитата:
"GUID"
либо инсерт делать через то же самое
Код:
INSERT INTO log ("GUID", client_id) VALUES ('4A8B93D4-5AC6-11E0-BD32-2A026C720FFE', '1' )
либо переименовывать поле без кавычек
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с триггером на Insert Ivan_32 SQL, базы данных 4 05.10.2010 14:49
ошибка при INSERT INTO; D7, access mdb helluvaname Помощь студентам 4 07.01.2010 10:16
Обработка Shift+Insert при вставке текста Dux Общие вопросы Delphi 1 20.10.2008 22:10
Ошибка при Выполнении Insert nimf БД в Delphi 2 27.11.2007 18:16