Kom ihåg mig?
Home Menu

Menu


PHP-script som tar bort MYSQL som saknar en viss data

 
Ämnesverktyg Visningsalternativ
Oläst 2013-09-15, 12:13 #1
Dakotas avatar
Dakota Dakota är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2009
Inlägg: 1 298
Dakota Dakota är inte uppkopplad
Har WN som tidsfördriv
Dakotas avatar
 
Reg.datum: Nov 2009
Inlägg: 1 298
Citat:
Ursprungligen postat av ANttila Visa inlägg
Du kan även kolla efter rader där mayor "= 0" i längd och "= NULL".

Skulle rekommendera att du tar bort staden i samma veva när du sätter just mayor till ett tomt värde.
Som jag förstår det så är det precis det som scriptet gör? I exemplet på sidan där jag hittade det försvann hela alltet från databasen eftersom just informationen i kolumnen var xxx så då borde väl samma sak ske om informationen är ingenting alls?

http://www.w3schools.com/php/php_mysql_delete.asp

Citat:
Ursprungligen postat av Tsarraz Visa inlägg
Jag hade nog hellre gjort så scriptet flyttade "förbjudna staden" till felaktiga städer databasen. Så inte nån gjort fel bara och blir förbannand på dig.
Systemet fungerar inte på det sättet. Så det är ej aktuellt.
Dakota är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-09-15, 12:21 #2
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Citat:
Ursprungligen postat av Dakota Visa inlägg
Som jag förstår det så är det precis det som scriptet gör? I exemplet på sidan där jag hittade det försvann hela alltet från databasen eftersom just informationen i kolumnen var xxx så då borde väl samma sak ske om informationen är ingenting alls?.
Ett fält som har värdet NULL är inte samma sak som att ett fält har en tom sträng som värde ("").

Jag vet inte hur du sätter mayor till "tomt". Om inte du heller vet det, så kolla efter fält som både har en tom sträng eller värdet NULL.

Senast redigerad av ANttila den 2013-09-15 klockan 12:23
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-09-15, 12:23 #3
Dakotas avatar
Dakota Dakota är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Nov 2009
Inlägg: 1 298
Dakota Dakota är inte uppkopplad
Har WN som tidsfördriv
Dakotas avatar
 
Reg.datum: Nov 2009
Inlägg: 1 298
Citat:
Ursprungligen postat av ANttila Visa inlägg
Ett fält som har värdet NULL är inte samma sak som att ett fält har en tom sträng som värde ("").

Jag vet inte hur du sätter mayor till "tomt". Om inte du heller vet det, så kolla efter fält som både har en tom sträng och värdet NULL.
Förstår inte alls vad du menar. Jag har inte heller gjort systemet som detta ska funka mot, utan det är ett plugin till en spelserver. Det jag vet är att när kolumnen "mayor" är tom så måste staden tas bort för annars kan felet ej lösas.

Om jag försöker förstå dig; Finns det olika sätt att spara ett tomt värde på och man måste veta vilket för att kunna ta bort det från databasen?!
Dakota är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-09-15, 12:28 #4
Tsarraz Tsarraz är inte uppkopplad
Medlem
 
Reg.datum: Apr 2013
Inlägg: 193
Tsarraz Tsarraz är inte uppkopplad
Medlem
 
Reg.datum: Apr 2013
Inlägg: 193
Du kan i MySql bestämma grundvärdet på ditt databasinlägg . Ofta null eller 0.
Tsarraz är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-09-15, 12:29 #5
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
ANttila ANttila är inte uppkopplad
Medlem
 
Reg.datum: Aug 2013
Inlägg: 81
Citat:
Ursprungligen postat av Dakota Visa inlägg
Förstår inte alls vad du menar. Jag har inte heller gjort systemet som detta ska funka mot, utan det är ett plugin till en spelserver. Det jag vet är att när kolumnen "mayor" är tom så måste staden tas bort för annars kan felet ej lösas.

Om jag försöker förstå dig; Finns det olika sätt att spara ett tomt värde på och man måste veta vilket för att kunna ta bort det från databasen?!
Ja, du kan antingen göra det helt tomt (NULL) eller sätta en sträng som inte har några tecken i sig ("").

Så jag rekommenderar att du kollar efter båda alternativen.

Dvs:
Kod:
DELETE FROM TOWNY_TOWNS WHERE TRIM(mayor) = '' OR mayor IS NULL
ANttila är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-09-15, 15:29 #6
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av Dakota Visa inlägg
Förstår inte alls vad du menar. Jag har inte heller gjort systemet som detta ska funka mot, utan det är ett plugin till en spelserver. Det jag vet är att när kolumnen "mayor" är tom så måste staden tas bort för annars kan felet ej lösas.

Om jag försöker förstå dig; Finns det olika sätt att spara ett tomt värde på och man måste veta vilket för att kunna ta bort det från databasen?!
Du angriper problemet från fel håll.

Du ska införa en regel (constraint) som redan i databasen förhindrar att tupler (förekomster) med Mayor som är NULL aldrig lagras. Skulle en användare försöka spara detta så ska denne få ett felmeddelande.

Felet som du beskriver ska ju aldrig kunna förekomma. Då ska du förhindra att det uppkommer.

Om Mayor är en referens till en primärnyckel i en annan tabell kallas det för "främmande nyckel" (förkortat FK) "Forreign key" på engelska du kan definiera kolumnen att vara "NOT NULL".

Senast redigerad av Conny Westh den 2013-09-15 klockan 15:34
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


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 00:23.

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