| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Mycket flitig postare
|
Hejsan, behöver en SQL-sats som denna (MSSQL), fast för MySQL.
Denna SQL-sats verkar inte fungera för MySQL Kod:
IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue')
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
INSERT INTO Table1 VALUES (...)
|
||
|
|
Svara med citat
|
|
|
#2 | |||
|
||||
|
Har WN som tidsfördriv
|
kika på INSERT ... ON DUPLICATE KEY UPDATE ...
|
|||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Klarade millennium-buggen
|
Jag skulle gjort två helt olika SQL-satser, en update-sats och en Insert-sats:
Kod:
UPDATE Table1 SET (...) WHERE PK IN (SELECT PK FROM Table2 WHERE Column1='SomeValue')) AND Column1='SomeValue' Kod:
INSERT INTO Table1 VALUES (...) WHERE PK NOT IN (SELECT PK FROM Table2 WHERE Column1='SomeValue')) Senast redigerad av Conny Westh den 2012-02-02 klockan 02:09 |
||
|
|
Svara med citat
|
|
|
#4 | |||
|
||||
|
Medlem
|
Hej,
Är det kanske REPLACE INTO som du letar efter? Tänk på att den inte är lika snabb som UPDATE och INSERT är.. Mer info: http://dev.mysql.com/doc/refman/5.0/en/replace.html http://www.mysqltutorial.org/mysql-replace.aspx |
|||
|
|
Svara med citat
|
|
|
#5 | |||
|
||||
|
Har WN som tidsfördriv
|
Detta gör vad du efterfrågar och är den bästa och snyggaste lösningen. Den här queryn fungerar i MySQL, men inte i MSSQL tror jag.
Kod:
INSERT INTO Table1 (...) VALUES (...) ON DUPLICATE KEY UPDATE (col1 = xxx, col2 = 'yyy',...) |
|||
|
|
Svara med citat
|
| Svara |
| Ämnesverktyg | |
| Visningsalternativ | |
|
|