🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #194950

Re: [SQL]Jak zastąpić wiersz tabeli?

#194950
From: szemrany
Date: Wed, 11 May 2016 08:29
16 lines
1728 bytes
On Wed, 11 May 2016 00:14:15 -0700 (PDT), Adam Klobukowski wrote:

>> Insert nie działa gdy mamy w bazie już wiersz o tym samym kluczu 
>> głównym. Jeden sposób to delete i to z selectem istniejącego wiersza, a 
>> czy istnieje szybszy sposób zastąpienia?
> 
> Zależy od engine SQLowego. Przykładowo, MySQL posiada operację INSERT ...  ON DUPLICATE KEY UPDATE. W tych które takiej operacji nie mają, pozostaje (w transakcji) select a nastepnie insert lub update.

Podobne mechanizmy posiada każdy sensowny serwer SQL. Szukaj po słowach
"insert or update" i/lub "upsert".

-- 
howgh
szemrany
"Zrozumienie umożliwia zastąpienie nieracjonalnych działań lub bezradności
przez działania racjonalne." M.Mazur, ojciec polskiej szkoły cybernetyki
Technical Details
Message-ID: <1114c3fwt03d4.10ij7bevhsnna.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <ngullf$fc2$1@node2.news.atman.pl> <5013664c-63f8-41b1-a462-d143ca0d47ab@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: szemrany <szemrany@offline.off>
Subject: Re: [SQL]Jak zastąpić wiersz tabeli?
Newsgroups: pl.comp.bazy-danych
User-Agent: 40tude_Dialog/2.0.15.84
MIME-Version: 1.0
Sender: no@please.no
References: <ngullf$fc2$1@node2.news.atman.pl> <5013664c-63f8-41b1-a462-d143ca0d47ab@googlegroups.com>
Date: Wed, 11 May 2016 10:29:00 +0200
Message-ID: <1114c3fwt03d4.10ij7bevhsnna.dlg@40tude.net>
Lines: 16
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 89-71-60-55.dynamic.chello.pl
X-Trace: 1462955342 unt-rea-a-02.news.neostrada.pl 22821 89.71.60.55:4939
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit