Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: INSERT INTO tabela SET ...
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
phpion
Witam,
na serwerze jest postawiony Postgres w wersji 8.3.8 i nie przyjmuje on zapytań:
  1. INSERT INTO tabela SET pole=1;

Wstawianie rekordów poprzez:
  1. 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 smile.gif
Pozdrawiam,
pion
scanner
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
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:
  1. 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
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
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
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" winksmiley.jpg
scanner
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
smile.gif 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
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ł biggrin.gif
anmar
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.
Invision Power Board © 2001-2024 Invision Power Services, Inc.