rubaek Mester
26. marts 2020 - 17:34 Der er 2 kommentarer og
1 løsning

Fej ved oprettelse af tabel

Når jeg vil køre dette script fejler det:

Script:
# Dump of table orders
# ------------------------------------------------------------

DROP TABLE IF EXISTS `orders`;

CREATE TABLE `orders` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `Title` varchar(255) DEFAULT NULL,
  `First` varchar(255) DEFAULT NULL,
  `Middle` varchar(255) DEFAULT NULL,
  `Last` varchar(255) DEFAULT NULL,
  `ProductId` int(11) unsigned NOT NULL,
  `NumberShipped` int(11) DEFAULT NULL,
  `OrderDate` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `order_product_fk` (`ProductId`),
  CONSTRAINT `order_product_fk` FOREIGN KEY (`ProductId`) REFERENCES `products` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Jeg får denne fejl:
#1005 - Kan ikke oprette tabellen `testkompas`.`orders` (Fejlkode: 150 "Foreign key constraint is incorrectly formed") (Detaljer…)

OBS: Min database hedder testkompas
olsensweb.dk Ekspert
26. marts 2020 - 18:40 #1
har du oprettet tabellen products ??
er datatypen for orders.ProductId === products.id ??

det er ikke nok de kun er int, hvis den ene er unsigned og den anden ikke er får du fejl når du laver ralationen

omskrevet til moderne sql

DROP TABLE IF EXISTS `orders`;
CREATE TABLE `orders` (
  `id` int(11) UNSIGNED NOT NULL,
  `Title` varchar(255) DEFAULT NULL,
  `First` varchar(255) DEFAULT NULL,
  `Middle` varchar(255) DEFAULT NULL,
  `Last` varchar(255) DEFAULT NULL,
  `ProductId` int(11) UNSIGNED NOT NULL,
  `NumberShipped` int(11) DEFAULT NULL,
  `OrderDate` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `products`;
CREATE TABLE `products` (
  `id` int(11) UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8_danish_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

ALTER TABLE `orders`
  ADD PRIMARY KEY (`id`),
  ADD KEY `ProductId` (`ProductId`);

ALTER TABLE `products`
  ADD PRIMARY KEY (`id`);

ALTER TABLE `orders`
  MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;


ALTER TABLE `orders`
  ADD CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`ProductId`) REFERENCES `products` (`id`);
rubaek Mester
26. marts 2020 - 19:52 #2
Super mange tak
rubaek Mester
26. marts 2020 - 20:18 #3
Og så var der ingen index.php i scriptet. Så det drillede også. Jeg har snart testet rigtig mange script...
Men nu tror jeg at det rigtig er fundet.
Testet på min lokale server. Kører fint. Lagt på nettet, og bum, så kom der en fejl.

Hermed lukker jeg dette spørgsmål.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
Så mange millioner betaler Knowit for Creuna: Dansk Creuna-boss bliver chef for ny Knowit-organisation med 100 ansatte
Interview: Roar Nissen skal efter mere end 13 år hos Creuna stå i spidsen for den samlede danske afdeling i det kommende Knowit Experience-selskab. Bliv klogere på planerne, efter den norske Knowit-koncern har købt Creuna, her.
Computerworld
Det nye MitID er et tigerspring for bedre cybersikkerhed
Klumme: Det nye MitID er en enestående mulighed for et markant løft af it-sikkerheden i danske kommuner. Med baggrund i udfasningen af det nuværende NemID kan de samtidig forbedre og styrke deres it-systemers værn overfor cyberangreb.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Regner din ferie væk? Brug tiden på at søge en af disse otte stillinger, der er ledige netop nu
Det sjasker ned over hele Danmark. Du kan bruge de våde sommerdage på at søge et af disse otte job, der er ledige lige nu.
White paper
Sådan grundlægger du en datacenterstrategi
Covid-19 understregede behovet for at kunne administrere datacentret på afstand – og for at lade virksomhedens øvrige medarbejdere løse endnu flere opgaver hjemmefra. Det har givet en lang række erfaringer, som kan komme din organisation til gavn på jeres videre digitale rejse. Herunder om, hvordan man optimerer forbindelsen mellem applikationer og data – og om, hvordan man målrettet placerer specifikke workloads, hvor det giver den største forretningsmæssige værdi. Det kan du læse meget mere om i denne hvidbog.