![]() |
![]() ![]() |
![]() |
![]() ![]()
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) |
|
|
![]()
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
|
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 00:22 |