Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[MYSQL] "verloren" records terugvinden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb twee tabellen: users en messages, die gekoppeld zijn via het id van de users. dus:
users heeft de kolommen: id, naam
en messages: id, message, userid

"Per ongeluk" is er een user uit de users table verwijderd, maar de bijbehorende entries in messages zijn blijven staan. Hierdoor staan er entries in de messages table die gekoppeld zijn aan een entry in de users table dat niet meer bestaat.
die entry in de users table had eigenlijk natuurlijk nooit verwijderd moeten worden, maar helaas is dit wel gebeurd. nu kan ik niet terugvinden welk id bij die entry hoorde...

de vraag is dus:
Bestaat er een query waarmee ik kan achterhalen of er entries in de messages table zijn die verwijzen naar een niet bestaand id nummer in de users table?

alvast bedankt!
Eelke Boezeman

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 16:18
Kijk een naar een left (outer) join, of iets als select * from messages where userid not in (select userid from users) werkt ook wel

[ Voor 70% gewijzigd door sig69 op 13-11-2007 13:16 ]

Roomba E5 te koop


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Left joinen op een andere tabel en zoeken waar de waarde van de tabel leeg is op een null.

Of alle records aflopen.

disjfa - disj·fa (meneer)
disjfa.nl


  • Pete
  • Registratie: November 2005
  • Laatst online: 31-10 12:38
Ja, je kunt bijvoorbeeld een left outer join doen en dan de null velden in de usertabel weergeven en dit groeperen op messages.userid.

petersmit.eu


Verwijderd

Topicstarter
ah hartelijk dank!
ik ben er nu mee bezig, blijkt dat er heel wat meer verloren records waren!

groeten,
eelke

  • Xcalibur
  • Registratie: Augustus 2002
  • Laatst online: 00:35
Kan je niet gewoon de 'gaten' in de ID's van de usertabel opzoeken?
Ieder ID wat niet bestaat is een record wat je kwijt bent lijkt me?

Designer | Developer | Director | Photographer | LARPer | Geek | Male | 39


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Xcalibur schreef op dinsdag 13 november 2007 @ 18:17:
Kan je niet gewoon de 'gaten' in de ID's van de usertabel opzoeken?
Ieder ID wat niet bestaat is een record wat je kwijt bent lijkt me?
Dan ga je er dus van uit dat het ID incremental is (wat niet zo hoeft te zijn, maar idd meestal wel zo zal zijn). Maar het lijkt me dat je van users die geen messages hebben ook niets terug hoeft te zetten (als ze enkel aan messages gekoppeld zijn dan). Scheelt weet 'gaten vullen' die niet gevuld hoeven te worden :Y) ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1