![]() |
![]() ![]() |
![]() |
-Jertvb- |
![]()
Post
#1
|
Goście ![]() |
Mam problem z ON DUPLICATE KEY UPDATE. Gdy dodaję rekord i potem usuwam w kodzie z nim INSERT i dodaję nową wartość z ON DUPLICATE KEY UPDATE to nie nadpisuje kompletnie. To jest z wikibooks.org:
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 10 Dołączył: 6.07.2007 Skąd: opole Ostrzeżenie: (0%) ![]() ![]() |
spróbuj tak
no i nie twórz tabeli za każdym razem
Ten post edytował tomeksobczak 17.05.2008, 18:30:12 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
kod który pokazałeś (przykładowy) jest prawidowy i działa zgodnie z oczekiwaniami. pokaż SWÓJ PRAWDZIWY kod i opisz dokładnie co ci w nim nie działa... bo stwierdzenia, że:
Cytat Gdy dodaję rekord i potem usuwam w kodzie z nim INSERT i dodaję nową wartość z ON DUPLICATE KEY UPDATE to nie nadpisuje kompletnie. nie rozumiem kompletnie... szczególnie wytłuszczonego fragmentu... |
|
|
-Jertvb- |
![]()
Post
#4
|
Goście ![]() |
Chodzi mi o to że jak są rekordy house a później dom (budynek) to żeby to zostało nadpisane, ale żeby nie było z innym id tylko z tym samym czyli zastosowanie ON DUPLICATE KEY UPDATE tu jest potrzebne no i żeby zostało nadpisane żeby było house a później dom (budynek), rodzaj obiektu mieszkalnego tylko w tym samym rekordzie a nie jak przy Replace że usuwa stary rekord i dodaje nowy ale o innym id. Cały kod:
|
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
napisz dokładnie jakie dostajesz wyniki po wykonaniu tego skryptu... i dlaczego według ciebie są złe... skopiowałem i wkleiłem twój kod SQL u siebie do bazy i wszystko działa ok... tzn. na końcu mam wpis w bazie:
1, 'house', 'dom (budynek), rodzaj obiektu mieszkalnego.' możliwe że chcesz osiągnąć coś do czego ON DUPLICATE KEY nie służy... |
|
|
-Jertvb- |
![]()
Post
#6
|
Goście ![]() |
Już wiem czemu update nie robi. Ja jadę na krasnalu 2.7 który nie obsługuje mysql powyżej wersji 4 a to zostało dodane w wersji 4,xx . Spróbuję na innym serwerze. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nawiązując do tematu - czy "ON DUPLICATE KEY UPDATE" mogę użyć przy UPDATE, czy tylko przy INSERT?
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Tylko przy INSERT. Przeanalizuj całą konstrukcję - wywoływany jest najpierw INSERT, a jeśli dane ustawionego klucza istnieją, wtedy wykonywany jest UPDATE.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ok, dzięki! Mam akurat sytuację, w której update może podmienić wpis na podówjny i wtedy jak znalazł byłaby metoda ON DUPLICATE KEY UPDATE. Ale cóz. pokombinuję inaczej. Dzięki raz jeszcze.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:27 |