Avatar billede bolmer Nybegynder
22. maj 2005 - 15:11 Der er 4 kommentarer og
1 løsning

Hvordan "dropper" man en foreign key?

Jeg har lavet 2 tabeller i room.sql som indeholder en foreign key:

mysql> show create table room\G;
*************************** 1. row ***************************
      Table: room
Create Table: CREATE TABLE `room` (
  `number` mediumint(9) NOT NULL auto_increment,
  `type` char(1) default NULL,
  `smoker` enum('true','false') default NULL,
  `status` char(1) default NULL,
  `price` mediumint(9) default NULL,
  `tv` enum('true','false') default NULL,
  `minibar` enum('true','false') default NULL,
  PRIMARY KEY  (`number`),
  KEY `type` (`type`),
  CONSTRAINT `room_ibfk_1` FOREIGN KEY (`type`) REFERENCES `room_type` (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

denne sql fil importere jeg til databasen ved at skrive source room.sql;

Jeg har saa proevet at tilfoeje til slutningen af denne sql fil:

alter table room drop foreign key room_ibfk_1

Men det giver en fejl naar jeg importere den paa ny (har husket at droppe de 2 tabeller foerst).

hvordan dropper man en foreign key fra en tabel??
Avatar billede barklund Nybegynder
22. maj 2005 - 15:15 #1
Hvilken fejlbesked får du?
Avatar billede bolmer Nybegynder
22. maj 2005 - 15:18 #2
Jeg tror det var fordi jeg havde to alter statements i min sql fil:

alter table room add price mediumint, add tv ENUM('true', 'false'),
add minibar ENUM('true','false')

alter table room drop foreign key room_ibfk_1

Naar jeg skriver:

alter table room add price mediumint, add tv ENUM('true', 'false'),
add minibar ENUM('true','false'), drop foreign key room_ibfk_1

i stedet saa fungere det fint. Er det kun tilladt at have en alter statement??
Avatar billede barklund Nybegynder
22. maj 2005 - 15:21 #3
Det burde ikke være et problem. Virker det da, hvis du kun har din "drop foreign key" sætning? Og hvilken fejlbesked og -kode får du?
Avatar billede bolmer Nybegynder
07. juli 2005 - 11:47 #4
havde lavet en typo
Avatar billede barklund Nybegynder
07. juli 2005 - 11:59 #5
(hvilket vi nok havde fundet ud af, om du havde skrevet fejlbeskeden herinde)
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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