is het mogelijk om ene array op te slaan in mySQL, is hier een datatype voor beschikbaar?
Enumeration?
ENUM() ?
http://www.mysql.com/docu...anual_Reference.html#ENUM
Maar je kunt het ook zelf 'imploden' natuurlijk en in een varchar/text veld plaatsen.
ENUM() ?
http://www.mysql.com/docu...anual_Reference.html#ENUM
Maar je kunt het ook zelf 'imploden' natuurlijk en in een varchar/text veld plaatsen.
[ Voor 93% gewijzigd door Bosmonster op 16-12-2002 13:42 ]
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Das eigenlijk nog wel de beste optie.. als je geen ENUM zou gebruiken..
[ Voor 15% gewijzigd door Bosmonster op 16-12-2002 14:05 ]
Idd gewoon een TEXT/BLOB field maken voor je array en dan serialize() e.d. gebruiken. Houd er wel rekening mee dat serialize _erg_ inefficient is. Probleem is namelijk dat serialize werkt voor zo goed als alle variabelen die je kan bedenken in PHP, dat geeft dus een zooi overhead.
Als je een simpel arraytje als
$bla = array(1, 3, 5, 7, 11);
op wilt slaan kan je veel beter implode() en explode() gebruiken, dat is dan veeeeeel efficienter.
Als je een simpel arraytje als
$bla = array(1, 3, 5, 7, 11);
op wilt slaan kan je veel beter implode() en explode() gebruiken, dat is dan veeeeeel efficienter.
Je kan het array ook in een tabel opslaan, compleet genormaliseerd.
Dan kan je er ook nog allerlei leuke analyses over loslaten.
Volgens mij kan je bij serialize niet vanuit SQL in de inhoud van het array kijken.
Dan kan je er ook nog allerlei leuke analyses over loslaten.
Volgens mij kan je bij serialize niet vanuit SQL in de inhoud van het array kijken.
Lijkt mij idd een betere oplossing. Je beperkt jezelf behoorlijk als je het als een varchar oid op gaat slaan.
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Verwijderd schreef op 16 December 2002 @ 13:40:
is het mogelijk om ene array op te slaan in mySQL, is hier een datatype voor beschikbaar?
Datatype daarvoor heet gewoon "tabel"
Zie verder wat goodylover en drm al roepen.
Grappig dat er een MySQL vraag wordt gesteld, en allemaal PHP-antwoorden worden gegeven 
Of ligt het nu aan mij
Of ligt het nu aan mij
Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.
hoe wou jij een array invoeren met alleen maar mysqlmithalph schreef op 16 december 2002 @ 16:02:
Grappig dat er een MySQL vraag wordt gesteld, en allemaal PHP-antwoorden worden gegeven
Of ligt het nu aan mij
rumores non hiatus dremelunt
malleo omnia consentiunt
Lid van het Anti-Jamba front!
nee, ligt aan de topistarter 
Soms is het niet handig om alles in een MySQL table te gooien en dan gebruik je dingen als explode/implode en (un)serialize()
Maar idd, het is natuurlijk VEEEL netter om je PHP array in een table te gooien. Ik ging er echter van uit dat de topic starter niet zo heel erg super mega noob was
(of ja, daar hoopte ik op
).
Soms is het niet handig om alles in een MySQL table te gooien en dan gebruik je dingen als explode/implode en (un)serialize()
Maar idd, het is natuurlijk VEEEL netter om je PHP array in een table te gooien. Ik ging er echter van uit dat de topic starter niet zo heel erg super mega noob was
Het is niet zozeer netter of slechter, maar meer afhankelijk van wat je wilt.
Als je een soort dump van een systeem op een bepaald moment wilt maken, kan het opslaan in een BLOB wat mij betreft prima, bedenk de consequentie's.
er is in mijn visie niet 1 oplossing voor alles. Weet waarom iets op een bepaalde manier oplost, dan weet je ook wanneer je goed of fout bezig bent
Als je een soort dump van een systeem op een bepaald moment wilt maken, kan het opslaan in een BLOB wat mij betreft prima, bedenk de consequentie's.
er is in mijn visie niet 1 oplossing voor alles. Weet waarom iets op een bepaalde manier oplost, dan weet je ook wanneer je goed of fout bezig bent
Verwijderd
Ik denk dat het helemaal vies is om een serialize() te gebruiken. Ok, het werkt wel, maar je krijgt allemaal rare crap in je database waar enkel php mee kan omgaan. Wat ik zou doen (misschien een beetje omslachtig), is een extra tabel maken met hierin en vreemde sleutel naar je hoofdtabel. Dat is nog veel efficienter..
Da's natuurlijk maar net hoe je de vraag van de topicstarter interpreteertsKiLL4:
Owja, dit is onzin. Enum word gebruikt om een keuze te maken uit een aantal waardes, het is geen datatype waarmee je een array kan opslaan. Het is eerder een type waarbij je uit een- van tevoren gekozen array- waardes kan kiezen.
Ennuh....
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
Verwijderd schreef op 17 December 2002 @ 09:32:
[...]
Owja, dit is onzin. Enum word gebruikt om een keuze te maken uit een aantal waardes, het is geen datatype waarmee je een array kan opslaan. Het is eerder een type waarbij je uit een- van tevoren gekozen array- waardes kan kiezen.
Je hebt gelijk.. SET is het type voor meerdere waarden (eventueel array), al ben je nog verplicht deze bij creatie op te geven. ENUM is voor een enkele waarde met beperkte mogelijkheid.
Eerlijk gezegd gebruik ik beiden nooit.. Voor SET zou ik of een losse tabel maken of mogelijk serialize() gebruiken (of als het toch een array is, dan is een implode() een stuk sneller). Voor ENUM gebruik ik eigenlijk altijd eigen waardes of een tinyint ofzo (ga geen enum("ja","nee") ofzo gebruiken, dan liever een tinyint(1) op 0 of 1)
Maar misschien dat ik het nut er nog eens van ga inzien
[ Voor 42% gewijzigd door Bosmonster op 17-12-2002 11:07 ]
Hoezo?Verwijderd schreef op 17 december 2002 @ 09:29:
Ik denk dat het helemaal vies is om een serialize() te gebruiken. Ok, het werkt wel, maar je krijgt allemaal rare crap in je database waar enkel php mee kan omgaan. Wat ik zou doen (misschien een beetje omslachtig), is een extra tabel maken met hierin en vreemde sleutel naar je hoofdtabel. Dat is nog veel efficienter..
Ik kan wel een aantal mogelijkheden bedenken waarbij het handig is. Denk bv maar aan Session handlers of zo.
Programmer - an organism that turns coffee into software.
Mja, ik vind enum('true','false') toch intuitief een stuk lekkerder werken dan een tinyint op 0 of 1. plus dat je de constraints in je tabel door zijn definitie kan zetten, ajbwib... Een tinyint kan tenslotte op 0 of 1 staan, maar ook op 123....
Overigens is tinyint(1) een fabeltje in MySQL. Probeer maar eens een tinyint(1) op 100 te zetten....
Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz
mysql.com:drm schreef op 17 December 2002 @ 13:15:
Overigens is tinyint(1) een fabeltje in MySQL. Probeer maar eens een tinyint(1) op 100 te zetten....
As an extension to the ANSI/ISO SQL92 standard, MySQL also supports the integer types TINYINT, MEDIUMINT, and BIGINT as listed in the tables above. Another extension is supported by MySQL for optionally specifying the display width of an integer value in parentheses following the base keyword for the type (for example, INT(4)). This optional width specification is used to left-pad the display of values whose width is less than the width specified for the column, but does not constrain the range of values that can be stored in the column, nor the number of digits that will be displayed for values whose width exceeds that specified for the column.
Pas de replâtrage, la structure est pourrie.
Pagina: 1