Avatar billede sth Novice
15. oktober 2003 - 14:31 Der er 4 kommentarer og
1 løsning

Hjælp til InnoDB og FOREIGN KEY

Nogen der lige kan hjælpe lidt med InnoDB og FOREIGN KEY

jeg kan ikke få nedenstående til at virke, tabel firma bliver oprettet ok, men så går det galt med tabel firma_ip får følgende fejl:

Incorrect table definition; There can only be one auto column and it must be defined as a key

hvad gør jeg galt ?


CREATE TABLE firma (
  id int(6) NOT NULL auto_increment,
  firmaid_nr varchar(50) default NULL,
  firma_dato date default NULL,
  firma_navn varchar(50) default NULL,
  firma_kontakt varchar(50) default NULL,
  firma_adresse varchar(50) default NULL,
  firma_postnr varchar(50) default NULL,
  firma_city varchar(50) default NULL,
  firma_fax varchar(50) default NULL,
  firma_telefon varchar(50) default NULL,
  firma_hjemmeside varchar(50) default NULL,
  firma_email varchar(50) default NULL,
  firma_info_om longtext,
  firma_henviser_til varchar(50) default NULL,
  firma_start_gebyr double default NULL,
  firma_enheds_pris double default NULL,
  firma_id varchar(50) default NULL,
  firma_password varchar(50) default NULL,
  firma_logo varchar(50) default NULL,
  firma_ip int(6) default NULL,
  INDEX INDEX_id(id) ,
) TYPE = InnoDB;

CREATE TABLE firma_ip (
      ip_id int(6) NOT NULL auto_increment,
      ip_adresse varchar(50) default NULL,
      ip_beskrivelse varchar(50) default NULL,
      firma_id int(6) default NULL,

    INDEX index_firma_id( firma_id ) ,
    FOREIGN KEY ( index_firma_id )
    REFERENCES firma( id ) ON DELETE CASCADE
) TYPE = InnoDB;
Avatar billede Slettet bruger
15. oktober 2003 - 14:41 #1
# MySQL-Front Dump 2.5
#
# Host: localhost  Database: emm
# --------------------------------------------------------
# Server version 3.23.53-max-nt


#
# Table structure for table 'firma'
#

DROP TABLE IF EXISTS firma;
CREATE TABLE firma (
  id int(6) NOT NULL auto_increment,
  firmaid_nr varchar(50) default NULL,
  firma_dato date default NULL,
  firma_navn varchar(50) default NULL,
  firma_kontakt varchar(50) default NULL,
  firma_adresse varchar(50) default NULL,
  firma_postnr varchar(50) default NULL,
  firma_city varchar(50) default NULL,
  firma_fax varchar(50) default NULL,
  firma_telefon varchar(50) default NULL,
  firma_hjemmeside varchar(50) default NULL,
  firma_email varchar(50) default NULL,
  firma_info_om longtext,
  firma_henviser_til varchar(50) default NULL,
  firma_start_gebyr double default NULL,
  firma_enheds_pris double default NULL,
  firma_id varchar(50) default NULL,
  firma_password varchar(50) default NULL,
  firma_logo varchar(50) default NULL,
  firma_ip int(6) default NULL,
  KEY INDEX_id (id)
) TYPE=InnoDB;

Prøv den her på tabellen firma...
Avatar billede Slettet bruger
15. oktober 2003 - 14:42 #2
ohh....så ikke at det var firma_ip den var gal med...
Avatar billede sth Novice
15. oktober 2003 - 14:52 #3
Nej det går fint med at lave tabellen firma, men så går det galt med tabellen firma_ip
Avatar billede sth Novice
15. oktober 2003 - 14:54 #4
Hov ! det skulle være

CREATE TABLE firma_ip (
  ip_id int(6) NOT NULL auto_increment,
  ip_adresse varchar(50) default NULL,
  ip_beskrivelse varchar(50) default NULL,
  firma_id int(6) default NULL,
  PRIMARY KEY  (ip_id)
INDEX index_firma_id(firma_id),
FOREIGN KEY (firma_id)
                        REFERENCES firma(id)
) TYPE=InnoDB;
Avatar billede sth Novice
01. marts 2004 - 22:45 #5
jeg lukker
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