08. januar 2012 - 18:16Der er
10 kommentarer og 1 løsning
Oprettelse af Foreign Key
Noget så simpelt som at oprette en fremmenøgle i min database volder mig ligepludselig problemer. Sagen er den er jeg er ved at implementere et system for en virksomhed, og dertil har jeg fået et SQL script til den af deres tabeller der har relevans for mig. Tabellen er således ud:
Nu skal jeg imidlertid bruge primærnøglen FB_uid i andre tabeller og derfor vil jeg oprette fremmednøgler. Herunder er et eksempel på en tabel og et erklæring.
CREATE TABLE IF NOT EXISTS chat_ignores ( blockedBy varchar(128) NOT NULL, blocked varchar(128) NOT NULL, primary key(blockedBy,blocked) )ENGINE=InnoDB; ALTER TABLE chat_ignores ADD FOREIGN KEY (blockedBy) REFERENCES `User`(FB_uid);
Når jeg forsøger at oprette min FK får jeg følgende MySQL error: Error Code: 1005 Can't Create table 'chatdatabase'.#sql-4a0_289(errno:150))
Mit bedste bud er den forsøger at oprette en tabel ved navn: #sql-4a0_289 i databasen. Jeg ved ikke hvordan det fungerer sådan rent teknisk når den opretter en fremmednøgle.
Hej Arne og Erik, Jeg beklager meget at jeg først vender tilbage til jer nu, men denne database var en del af min hovedopgave til mit 5. semesters projekt, så derfor var der en del arbejde at gøre. Det viste sig at løse sig da slettede alle tabeller og derefter oprettede dem med et charset til UTF-8 , der er åbenbart forskel .
Arne hvis du vil smide et svar så skal du få point, Erik jeg går ikke ud fra du vil have point, men ellers skal du være velkommen til at smide et svar også.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.