webForumDet fria alternativet
Logga in / Bli medlem

hur mycket....

Databaser & SQL

10 svar · 225 visningar · startad av Rickard

Medlem sedan maj 2001287 inlägg
Frågan#1

Hur stor mängd data kan lagras i en tabell utan att använda BLOB?
Jag har aldrig använt blob nämligen, råkade springa på det förra veckan av en slump när jag gjorde ordning min gästbok...

Jag vill nämligen att en användare skall kunna logga in med ett lösenord och ha ett foto framför sitt inlägg (ungefär som på lunarstorm) (jag hartar visserligen lunarstorm men det är en annan femma...

Medlem sedan dec. 200012 464 inlägg
#2

char/varchar max 255

Läs mer här http://www.mysql.com/doc/S/t/String_types.html

Medlem sedan maj 2001287 inlägg
#3

ok.. nu är det såm att mina gästboks tabeller skapas ju så här:

create table gast (id mediumint not null auto_increment, primary key(id), namn varchar(50), mail varchar(60), inlagg varchar(255), datum datetime);

Hur skapar jag då så att jag kan ha fler än 255 tecken i inlägget i min gästbok?
Och hur skall jag även kunna göra så att en bild kan lagras i databasen (alternativt att bilden lagras på disken i nån katalog och sökvägen till bilden är inlaggd i någon tabell..) hur skall jag göra det??

Medlem sedan feb. 20012 412 inlägg
#4

hej!

CHAR - En teckensträng med fixerad längd n bytes
VARCHAR - En teckensträng med varierande längd n bytes
TINYBLOB - En mycket liten BLOB (binary large object) 2^8-1 bytes
BLOB - En liten BLOB 2^16-1 bytes
MEDIUMBLOB - En medelstor BLOB 2^24-1 bytes
LONGBLOB - En stor BLOB 2^32-1 bytes
TINYTEXT - En mycket liten textsträng 2^8-1 bytes
TEXT - En liten textsträng 2^16-1 bytes
MEDIUMTEXT - En medelstor textsträng 2^24-1 bytes
LONGTEXT - En lång textsträng 2^32-1 bytes
ENUM - Ett alternativ ur en lista 65535 alternativ
SET - Ett eller flera alternativ ur en lista 64 alternativ

Bara att välja en lämplig längd :)

Använd någon av textalternativen, har för mig att man inte kan ange specifik längd för ett textfält. Sedan hade jag bara sparat sökvägen till bilden i databasen.

mvh Jörgen

Medlem sedan maj 2001287 inlägg
#5

aj du jorgen..
jag är inge vidare på matte du...
så det där sa inte mig så hemskt mycket.. =)

Medlem sedan feb. 20012 412 inlägg
#6

Hej!

He he, det är inte så svårt som det ser ut, en byte motsvarar ett ASCII-tecken. Så det enda du behöver räkna/fundera över är var du vill lägga maxlängden på inlägget. Lämpligt är att sätta maxlength i formuläret för att begränsa längden efter fältets storlek.

mvh Jörgen ;)

Medlem sedan maj 2001287 inlägg
#7

jojo, men det jag menade..

ex. 2^8-1 bytes...

Jag vet ju att man delar x kb med 8 så får man reda på byte storleken...
men det där "x upphöjt til är" jag dålig på...

Medlem sedan maj 2001287 inlägg
#8

någon kvar här vid den här tiden?

för tex longblob...

ska jag bara byta ut varchar mot longblob då? eller så det vara varlongblob eller??

Medlem sedan maj 2001287 inlägg
#9

kom på hur man gjorde, men tänkte mig inte för och räknade ut först EFTER att jag använt mig av longblob...

Fan...
4294967295 tecken var ju inte direkt vad jag var ute efter...

Jag vill ha typ.. 512 eller MAX 1024 tecken...
någon som vet hur jag skall bära mig åt då?

Medlem sedan sep. 20011 086 inlägg
#10

ALTER TABLE <table> MODIFY <attribute> BLOB;

sen får du sätta maxvärde i textfältet istället om du bara vill ha 1024 tecken (om de går att sätta maxvärden i ett textfält, annars får du kolla de me nåt scriptspråk, typ php asp...

Medlem sedan feb. 2000438 inlägg
#11

Det lättaste (tycker jag) är att sätta kolumnen till TEXT och sedan kolla (och eventuellt förkorta) värdena som ska in i kolumnen med hjälp av det programmeringsspråk du använder till din gästbok.

/Csson

266 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)