phpion
10.12.2009, 19:22:53
Witam,
na serwerze jest postawiony Postgres w wersji 8.3.8 i nie przyjmuje on zapytań:
INSERT INTO tabela SET pole=1;
Wstawianie rekordów poprzez:
INSERT INTO tabela (pole) VALUES (1);
działa poprawnie. Co z tym zrobić, czy to leży gdzieś w konfiguracji? Google znalazło mi jedynie wątki dotyczące Drupala - ale tam podawali patche zmieniające zapytania

Pozdrawiam,
pion
scanner
10.12.2009, 19:54:58
Zdefinuj pojęcie "nie przyjmuje" - albowiem u mnie na 8.3.8 - SOA#1 (co prawda na Windowsie, ale to niewiele zmienia).
Jakieś logi, errory, fraszka, zagadka?
phpion
11.12.2009, 07:51:33
Dokładnego komunikatu błędu w tym momencie nie mogę podać, ale generalnie było to coś w tylu "syntax error near SET".Sprawdziłem właśnie na PostgreSQL 8.4:
INSERT INTO "test" SET "name"='xyz';
co powoduje:
Cytat
ERROR: syntax error at or near "SET"
LINE 1: INSERT INTO "test" SET "name"='xyz';
piotrooo89
11.12.2009, 09:23:32
jeden z bugów postgresa, nic nie poradzisz ja właśnie testowałem INSERT INTO ... SET na 8.3 i też nie trybi w manualu też nic na temat tej składni nie ma. w necie pisze że bug nie poprawiony.
phpion
11.12.2009, 09:32:36
No ale ~scannerowi działa na 8.3.8 (na której to wersji mi nie działa) i (daję sobie rękę uciąć) mi też działa na jakieś starszej wersji 8.3.X (mam w domu na localu, nie podam teraz konkretnej wersji).
piotrooo89
11.12.2009, 09:58:11
manual wyraźnie mówi że nie ma czegoś takiego jak INSERT INTO ... SET w postgre. kumple w pracy mówią że to jest jakaś herezja z tym SET, cytuje: "powalony MySQL wymyśla jakieś gówno"
scanner
11.12.2009, 11:27:19
Ehh...
Przepraszam za wprowadzenie zamieszania - składnia z SET działa owszem, ale dla zapytania UPDATE...
Dla INSERT nie działa.
Ostatnio pisałem dużo procedur w pl/PgSQL gdzie była masa update'ów właśnie i tak mi te SET utkwiło w głowie, że podświadomie przyjąłem to za pewnik dla INSERT podczas odpowiadania na posta ~phpiona
phpion
11.12.2009, 11:29:28

dzięki za odpowiedź. W sumie byłem w 100% przekonany, że wcześniej wykonywałem takie zapytania. Może jednak się myliłem :| tak więc pozostaje mi jedna ręka :/
cojack
31.12.2009, 10:11:28
Dobrze że nie dałeś sobie głowy uciąć, czasami od przemęczenia człowiek wymyśla różne herezje a z tym SET to żeś dowalił
anmar
21.06.2013, 09:23:30
Dla tych, którzy tu jeszcze zajrzą dodam tylko (gdyby dla kogoś nie wynikało to ze słów "powalony MySQL..."), że składnia insert into set działa tylko w MySQL.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.