LibreOffice geeft een SQL foutcode bij maken relatie

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Tha_T
  • Registratie: Juni 2004
  • Laatst online: 16:57
Mijn vraag;
Ik ben voor mijn vrouw een kleine database in elkaar aan het draaien maar tijdens het maken van een relatie tussen tabel 1 en 2 krijg ik de foutmelding;
Primary or unique constraint required on main table:

Het SQL-commando ziet er zo uit;
[ALTER TABLE "Hond" ADD FOREIGN KEY ("Dierenarts") REFERENCES "Dierenarts" ("DaNaam")]

Om het even eenvoudig te maken heb ik 2 tabellen.
Dierenarts
DaID(Primary key en autonummerend)
DaNaam
DaAdres

Hond
HondID (Primary key en autonummerend)
boel info
Dierenarts <<< Deze wil ik vullen met een dierenarts. Ik dacht gewoon met DaNaam

Ik zal vast wel ergens een denkfout maken maar beide tabellen hébben een primary key maar waarom kan hij die link dan alsnog niet maken?

Relevante software en hardware die ik gebruik
LibreOffice Base

Wat heb ik al geprobeerd;
- DaID als foreign key gepakt
- Complete DB opnieuw aangemaakt
- https://ask.libreoffice.o...uired-on-main-table/56458 nagelezen maar ik kom daar gewoon niet uit.
- DB ontwerp omgezet in Access maar ook daar loop ik tegen een gelijkaardig probleem aan.
- https://wiki.documentfoun...es/0/02/Base_tutorial.pdf nagelezen


Wat mis ik? Laatste keer dat ik een database opgezet heb vanaf 0 is echt al minimaal 10 jaar geleden 8)7

Beste antwoord (via Tha_T op 01-07-2024 00:03)


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:26

Hero of Time

Moderator LNX

There is only one Legend

De melding is redelijk duidelijk, als je weet wat het nou precies bedoelt en waarom. Hiervoor moet je wel wat basiskennis van databases hebben.

Voor het idee, stel dat je 3 dierenartsen hebt, De Vries, Jansen en Jansen. Als je gaat linken met DaNaam en je verwijst naar 'De Vries', dan weet je welke DA dat precies is. Maar verwijs je naar 'Jansen', wie van de twee is het dan? Geen idee.

Dat is waarom je naar een uniek veld moet linken. Dat is wat de melding eigenlijk zegt.

Commandline FTW | Tweakt met mate

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 22:26

Hero of Time

Moderator LNX

There is only one Legend

De melding is redelijk duidelijk, als je weet wat het nou precies bedoelt en waarom. Hiervoor moet je wel wat basiskennis van databases hebben.

Voor het idee, stel dat je 3 dierenartsen hebt, De Vries, Jansen en Jansen. Als je gaat linken met DaNaam en je verwijst naar 'De Vries', dan weet je welke DA dat precies is. Maar verwijs je naar 'Jansen', wie van de twee is het dan? Geen idee.

Dat is waarom je naar een uniek veld moet linken. Dat is wat de melding eigenlijk zegt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Tha_T
  • Registratie: Juni 2004
  • Laatst online: 16:57
Hero of Time schreef op zondag 30 juni 2024 @ 23:29:
De melding is redelijk duidelijk, als je weet wat het nou precies bedoelt en waarom. Hiervoor moet je wel wat basiskennis van databases hebben.
De foutmelding is ook inderdaad duidelijk maar ik loop/liep rondjes in mijn hoofd wat er nou fout liep maar ik heb hem denk ik.
Voor het idee, stel dat je 3 dierenartsen hebt, De Vries, Jansen en Jansen. Als je gaat linken met DaNaam en je verwijst naar 'De Vries', dan weet je welke DA dat precies is. Maar verwijs je naar 'Jansen', wie van de twee is het dan? Geen idee.

Dat is waarom je naar een uniek veld moet linken. Dat is wat de melding eigenlijk zegt.
Uiteraard waar, ik heb nu de inderdaad maar gewoon een relatie gemaakt op de primary key en dan loopt ie wel door natuurlijk. Dank voor de spiegel ;)