Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> UPDATE jeżeli istnieje, INSERT jeżeli nie, Gdzie mam błąd?
NeoX
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.08.2007

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


Witajcie!
Próbuję stworzyć zapytanie w którym baza utworzyłaby wiersz jeżeli takowy by nie istniał wcześniej.
Znalazłem dwie, no trzy takie funkcje:
CODE

IF EXIST (SELECT * FROM `kadu_stats` WHERE `uid_group_id=100`) UPDATE `kadu_stats` SET `letters_recv=letters_recv+100` WHERE `uid_group_id=100` ELSE INSERT INTO `kadu_stats` VALUES `uid_group_id=100`;


CODE
UPDATE `kadu_stats` SET `letters_recv=letters_recv+100` WHERE `uid_group_id=100` IF @@ROWCOUNT=0 INSERT INTO `kadu_stats` (uid_group_id,letters_recv) VALUES (100,100);


CODE
INSERT INTO table kadu_stats VALUES uid_group='100',letters_recv='100' ON DUPLICATE KEY UPDATE letters_recv=letters_recv+'100';


I teraz przy dwóch pierwszych mam jakże dużo mówiący błąd ERROR 1064 (42000) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Trzecie działa jak zwykły insert.
Możecie mi podpowiedzieć co wywołuje te błędy?
Nie znam się na SQLu niestety i nie wiem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
bełdzio
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


looknij na to http://dev.mysql.com/doc/refman/5.0/en/replace.html
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Próbuję stworzyć zapytanie w którym baza utworzyłaby wiersz jeżeli takowy by nie istniał wcześniej.

Załóż sobie index typu UNIQUE i korzystaj z INSERT ... ON DUPLICATE.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 00:22