WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Smart sätt att "nästan" duplicera mysqlrader? (https://www.wn.se/forum/showthread.php?t=22307)

totoo 2007-07-17 07:46

Svår topic...

Jo, jag har ett gäng rader i en tabell


FÄLT: sessionId, userId


primary key: sessionId, userId

Jag skulle vilja göra såhär


"ta alla rader med sessionId=6 och duplicera dem, men sätt sessionId=7 istället".

Går detta att göra i en mysql-fråga?

Tack / Tobbe

fors 2007-07-17 09:52

Jag kanske tänker helt fel nu, men efter det du skriver så borde det gå att göra med följande SQL-sats. Visserligen dubbleras inget. Fast å andra sidan är det svårt att dubblera något man har rederat. :P
Kod:

UPDATE table SET sessionId = 7 WHERE sessionId = 6.

Onkelborg 2007-07-17 10:41

Borde man inte kunna göra en insert med en nästlad select, där man tar alla kolumner utom just sessionid-kolumnen som man ersätter med [7 as sessionid] (utan de där paranteserna)?

melin 2007-07-17 12:17

du får snurra igenom tabellen och för varje träff göra en insert

Onkelborg 2007-07-17 13:07

Citat:

Originally posted by melin@Jul 17 2007, 12:17
du får snurra igenom tabellen och för varje träff göra en insert

Nja, det där ska väl inte behövs.

http://dev.mysql.com/doc/refman/5.0/...rt-select.html

insert into min_tabell (sessionId, userId) select 7 as sessionId, userId from min_tabell where sessionId = 6

det där borde fungera tror jag

[EDIT]
Se upp, du kan inte ha någon gammal möglig version av mysql, då måste du manuellt skapa å slänga in i en temptabell själv
[/EDIT]


Alla tider är GMT +2. Klockan är nu 07:42.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson