Avatar billede supernewbie Nybegynder
26. oktober 2002 - 16:55 Der er 12 kommentarer og
1 løsning

Hvad er der galt med denne mysql kode?

CREATE TABLE message (

  id  INT( 20 ) NOT NULL AUTO_INCREMENT,
  rum  INT( 60 ) NOT NULL default '',
  besked  LONGTEXT( 60 ) NOT NULL default '',
  brugernavn  VARCHAR( 60 ) NOT NULL default '',
  UNIQUE KEY id (id)
) TYPE = MYISAM;
Avatar billede supernewbie Nybegynder
26. oktober 2002 - 17:04 #1
Hvor er alle MySql Nørderne henne??
Avatar billede lauer Nybegynder
26. oktober 2002 - 17:16 #2
du kan vistikke angive længen på en Longtext, og du skal nok også lige tænkte over om du hovedet har brug for en longtext, da der kan være dataer for over 4 GByte i den.

Jeg tror helleri kke at du kan lave en INT på 60... prøv lige at forestille dog hvor stort et tal det er... på 60 cifre... tænk lidt logisk.

- lauer
Avatar billede supernewbie Nybegynder
26. oktober 2002 - 17:55 #3
Har prøvet at rette det .. også inden j skrev dette spg...
men det samme men prøver lige de med longtexten
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:02 #4
rum  INT( 60 )

besked  LONGTEXT( 60 )

disse går ikke

sådan

  rum  INT( 11 )

besked  LONGTEXT
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:03 #5
det var et svar!

rum  INT( 60 )

besked  LONGTEXT( 60 )

disse går ikke

sådan

  rum  INT(11)

besked  LONGTEXT
Avatar billede lauer Nybegynder
26. oktober 2002 - 18:10 #6
man behøver slet ikke at angive længen på en INT.
men prøv lige at tænke over bare 11 tegn... det er f.eks. 99.999.999.999 (uden punktum), det er et ret så stort tal, 6 burde være nok... det er en million...
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:11 #7
CREATE TABLE message (
  id int(11) NOT NULL auto_increment,
  rum  longtext NOT NULL,
  besked  longtext NOT NULL,
  brugernavn varchar(60) NOT NULL default '',
  UNIQUE KEY id (id),
  KEY ww (id)
) TYPE=MyISAM;
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:13 #8
når du bruger auto_increment i en row er det spild af tid at bruge UNIQUE KEY på samme row for auto_increment vil ALDRIG give row samme værdi
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:17 #9
machomann >> forkert

0 - 4294967296
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 18:18 #10
og beviset

If the INT column is UNSIGNED, the size of the column's range is the same but its endpoints shift up to 0 and 4294967295. If you try to store -9999999999 and 9999999999, the values stored in the column become 0 and 4294967296.

http://www.mysql.com/doc/en/Numeric_types.html
Avatar billede lauer Nybegynder
26. oktober 2002 - 18:23 #11
ja okay, men det er stadig alt for meget... jeg tror ikke at han behov ligger så højt :)
Avatar billede mortenfn Nybegynder
26. oktober 2002 - 20:46 #12
SMALLINT er ofte nok uden noget i () - den klarer ca. 65.500

TINYINT klarer 254 men det er ofte for lidt til noget med auto_increment

Flere vil påstå at TINYINT kan klare 255! men husk højeste værdi er 254 og at 0 ikke vil forekomme da 0 + auto_increment = 1

mon ikke supernewbie har fået svar nu?
Avatar billede supernewbie Nybegynder
08. november 2002 - 16:00 #13
hmmmm
Klarede d selv.
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