Avatar billede limme Nybegynder
08. november 2006 - 18:45 Der er 14 kommentarer og
1 løsning

PRIMARY KEY , UNIQUE KEY og FULLTEXT KEY ?

Som sagt. Jeg har en lilel chat. Uden en DB fil.
Så vil selv lave den. Jeg sad og kiggede ia ndre filer og fandt noget i bunden af dem. Her er et eks.:


#
# Struktur dump for tabellen `chat`
#

CREATE TABLE `chat` (
  `id` int(4) NOT NULL auto_increment,
  `mes` text NOT NULL,
  `rum` int(3) NOT NULL default '0',
  `vaerelse` int(1) NOT NULL default '0',
  `fra` varchar(12) NOT NULL default '',
  `til` varchar(12) NOT NULL default '',
  `time` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  FULLTEXT KEY `mes` (`mes`),
  FULLTEXT KEY `mes_2` (`mes`)
) TYPE=MyISAM AUTO_INCREMENT=1863 ;

#
# Data dump for tabellen `chat`
#




Hvad betydder dette:

  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),
  FULLTEXT KEY `mes` (`mes`),
  FULLTEXT KEY `mes_2` (`mes`)
) TYPE=MyISAM AUTO_INCREMENT=1863 ;

Og fandt også dette i en anden:


  KEY `navn` (`navn`)
) TYPE=MyISAM COMMENT='mastercode varchar(32) NOT NULL default ''0'',' AUTO_INCREMENT=1233 ;


Nogle der gider at forklare mig hvad det betydder eller eventuelt henvise mig til en side hvor det står beskrevet ? :)
Avatar billede arne_v Ekspert
09. november 2006 - 00:34 #1
PRIMARY KEY er et kendt database begreb som er den kolonne der bruges til at identificere
rækker med

UNIQUE KEY er et felt som ikke tillader ens værdier

FULLTEXT er til full text søgning - se http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Avatar billede limme Nybegynder
09. november 2006 - 16:23 #2
- Hmm..
Hvad så med noget dansk guide halløj, og hvad mener du med de tillader ens værdier ? :)
Avatar billede arne_v Ekspert
09. november 2006 - 16:25 #3
ikke tillader ens værdier = der kan ikke være to ens værdier i kolonnen
Avatar billede arne_v Ekspert
09. november 2006 - 16:26 #4
MySQL dokumentationen er faktisk OK, men findes dog ikke på dansk
Avatar billede limme Nybegynder
09. november 2006 - 18:26 #5
Hmm.. Tak for det.. Dvs. Primary gør sådan at den laver et id for at holde styr.
Og Unique sørger for at der ikke kommmer de samme id'er ? :P
Avatar billede arne_v Ekspert
09. november 2006 - 18:38 #6
en primary key er automatisk også unique key

unique key bruges kun for yderligere felter som skal være unikke
Avatar billede limme Nybegynder
09. november 2006 - 18:50 #7
PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`),


Hvorfor er begge to der så?
Avatar billede arne_v Ekspert
09. november 2006 - 18:58 #8
det vil jeg kalde en mindre fejl i den SQL
Avatar billede limme Nybegynder
09. november 2006 - 19:04 #9
Dvs. Jeg kan sådan set nøjes med en unique eller hvad ? :)
Avatar billede arne_v Ekspert
09. november 2006 - 19:12 #10
du kan nøjes med primary key
Avatar billede limme Nybegynder
09. november 2006 - 19:14 #11
Jamen, så kan IDerne jo være ens, ikke? :/
De skal jo ikke være ens nogen af dem?
Avatar billede arne_v Ekspert
09. november 2006 - 19:22 #12
nej - primary key sikrer også at de er unikke helt automatisk
Avatar billede limme Nybegynder
09. november 2006 - 19:30 #13
OKay. Tak for det :)
- Kan aligevel ikke se forskellen på Unique og primary :P
Men skriv lige et svar og få dine points :=
Avatar billede arne_v Ekspert
09. november 2006 - 19:42 #14
der er heller ikke den store

der kan/skal være 1 primary key per tabel

der kan være 0-mange unique keys per tabel

ellers er eneste forskel at unique index tillader NULL mens primary key ikke gør
Avatar billede arne_v Ekspert
09. november 2006 - 19:42 #15
og svar
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