Kom ihåg mig?
Home Menu

Menu


Enkel tabellfråga mysql

 
Ämnesverktyg Visningsalternativ
Oläst 2009-09-28, 22:13 #11
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Ett enkelt sätt att lösa detta vore att i alla ställen i den nya databasen där postid finns uppdatera kolumnen till att vara postid + <max postid i gamla databasen>. På så sätt får alla dina nya poster högre IDs än de gamla och det finns ingen risk för konflikt.

De två andra sätten som verkar passande utan specielltmycket kunskap vore:
- Tömma databasen. Importera den gamla. Lägga in det nya manuellt.
- Rensa alla postids lägre än det nu högsta postid i nya databasen. Det löser problemet med unika nycklarna, men givetvis förlorar du dessa poster från din gamla installation (de går ju dock att lägga in manuellt likt väl).

Gällande numeriska IDs håller jag inte med Conny. Medans stegning från värdet 1 garanterar konflikt så kommer många alternativ att riskera konflikt, vilket man kan vara omedveten av. Oavsett om man använder numeriska eller icke-numeriska IDs så finns det enkla sätt att skala det till både en ny server eller horisontellt. Skillnaden med auto increment är för mig snarare att man slipper seeda IDs själv. Behöver man skala ut det till unika IDs över flera noder behöver man uppenbarligen förändra det (men inte ersätta det), men 99,9% av alla webbprojekt kommer aldrig dit.
Clarence är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 03:22.

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