Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> INSERT INTO tabela SET ..., Błąd składni...
phpion
post 10.12.2009, 19:22:53
Post #1





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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
Go to the top of the page
+Quote Post
scanner
post 10.12.2009, 19:54:58
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
phpion
post 11.12.2009, 07:51:33
Post #3





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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';


Ten post edytował phpion 11.12.2009, 07:55:11
Go to the top of the page
+Quote Post
piotrooo89
post 11.12.2009, 09:23:32
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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.


--------------------
Go to the top of the page
+Quote Post
phpion
post 11.12.2009, 09:32:36
Post #5





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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).
Go to the top of the page
+Quote Post
piotrooo89
post 11.12.2009, 09:58:11
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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


--------------------
Go to the top of the page
+Quote Post
scanner
post 11.12.2009, 11:27:19
Post #7





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
phpion
post 11.12.2009, 11:29:28
Post #8





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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 :/
Go to the top of the page
+Quote Post
cojack
post 31.12.2009, 10:11:28
Post #9





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
Go to the top of the page
+Quote Post
anmar
post 21.06.2013, 09:23:30
Post #10





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 21.06.2013

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 08:33