Kör en update.
Fast det beror ju kanske på vilken dbms du använder.
UPDATE lankar SET Lank = Replace(Lank, "/index.php?", "/?")
WHERE Lank LIKE '%[url]www.b.com/index.php?%[/url]'
mvh
8 svar · 602 visningar · startad av Inferis
Jag har en databas full med länkar. Nu behöver jag få bort en bit av dess URL på sina ställen.
Kan någon tipsa mig hur jag bäst går till väga?
Antingen ändra i själva sökningen eller ändra i posterna?
Problemet är att det finns flera olika länkar, det är bara en av sidorna som länkas som jag behöver ändra.
Exempel:
https://www.a.com/index.php?id=2323232323 (ska vara som den är)
https://www.b.com/index.php?id=121212 ska bli till https://www.b.com/?id=121212
(samt alla länkar med https://www.b.com/?id=någotvärde)
Så här kollar jag om länkarna finns i databasen innan jag lägger in dem;
SQL = "SELECT * FROM lankar WHERE Lank = '"& Request.form("lank") &"' "
Set Rs = Connection.Execute(SQL)
Vilket sätt är bäst att gå?
Kör en update.
Fast det beror ju kanske på vilken dbms du använder.
UPDATE lankar SET Lank = Replace(Lank, "/index.php?", "/?")
WHERE Lank LIKE '%[url]www.b.com/index.php?%[/url]'
mvh
Kör mySQL, ska testa.
För att kolla resultatet innan du kör frågan kan du ju alltid göra motsvarande SELECT:
SELECT Replace(Lank, "/index.php?", "/?") AS Lank FROM lankar
WHERE Lank LIKE '%[url]www.b.com/index.php?%[/url]'
Fick följande fel:
Microsoft VBScript compilation error '800a0408'
Invalid character
/uppdateradb.asp, line 6
SQL = "UPDATE lankar SET Lank = Replace(Lank, "/index.php?", "/?")
---------------------------------------------------------^
Förlåt. Det ska ju vara apostrofer. Vet inte riktigt hur det blev så där.
UPDATE lankar SET Lank = Replace(Lank, '/index.php?', '/?')
WHERE Lank LIKE '%[url]www.b.com/index.php?%[/url]'
Snabel-anders har rätt att det ska vara apostrofer i SQL. Men jag kan tillägga att om du någon sin behöver stoppa ett citattecken i en sträng i VB.net så finns det sätt att göra det. Normalt sett så slutar ju strängen där det står ett citattecken, men du kan avbryta detta genom att sätta in dubbla citattecken.
str = "Denna sträng innehåller såna där ""citattecken"" mitt i strängen."