Apache Datenbank
dummy
- datenbank
Guten Tag liebe Programmierer/Designer,
ich bin in sachen Datenbanken ein ziemlicher "newbie".
Ich bin zwar in der lage mit PHP etwas in die DB zuschreiben und auszulesen aber eines verstehe ich nicht ganz so recht.
Was heißt wenn man eine neue Tabelle erstellt:
Man kann das ja bei PHPMyAdmin sehr viel auswählen aber was hat das zu bedeuten?
Und meine 2 frage:
was hat das Attribute mit den einstellungen:
-Unsigned
-Unsigned Zerofill
-On Update Current Timestamp
zu bedeuten?
Ich hoffe mir bei euch Hilfreiche Antworten einzuholen und bedanke mich im vorraus!
Hello,
mal eine Frage: Wie kommst du auf "Apache Datenbank"? Na ja, egal, PHPMyAdmin, d.h. wir reden über MySQL. Das Handbuch dazu findest du unter http://www.mysql.com, da stehen auch die Begriffe drin, nach denen du hier fragst.
- Kollation ?
Das dürfte der verwendete Zeichensatz sein.
Und meine 2 frage:
was hat das Attribute mit den einstellungen:
-Unsigned
Soll die Zahl mit Vorzeichen oder ohne Vorzeichen gespeichert werden (Größe des Wertebereichs bleibt, verschiebt sich aber bei Vorzeichen zu Richtung negative Zahlen)
-Unsigned Zerofill
Fülle die eingegebene Zahl nach vorne mit 0 auf, bis eine bestimmte Zahl von Stellen erreicht ist.
-On Update Current Timestamp
Ich nehme an "wenn ein Satz eingefügt wird, dann schreibe den aktuellen Zeitstempel rein" - also sowas wie ein automatischer last-modified-Stempel.
MfG
Rouven
Ich grüsse den Cosmos,
-On Update Current Timestamp
Ich nehme an "wenn ein Satz eingefügt wird, dann schreibe den aktuellen Zeitstempel rein" - also sowas wie ein automatischer last-modified-Stempel.
Ich lese das eher als "Bei jeder Änderung den Zeitstempel aktualisieren", und wenn ich es richtig im Kopf hab, funktioniert das bei mir auch so unter MySQL 5 ;)
Möge das "Self" mit euch sein
Moin!
Was heißt wenn man eine neue Tabelle erstellt:
- Kollation ?
Das ist die Sortierreihenfolge des Alphabets. Und jede Kollation definiert ihrerseits auch eindeutig die nutzbare Zeichencodierung.
Soll heißen: Wenn du ISO-8859-1 (also Latin 1) codieren willst, hast du für die deutsche Sprache zwei Sortierreihenfolgen zur Auswahl:
1. Die Umlaute äöü werden sortiert wie aou.
2. Die Umlaute werden sortiert wie ae, oe, ue.
Im Fall 1 wäre ein "Müller" identisch wie "Muller" einsortiert, im Fall 2 wäre es wie "Mueller" einsortiert.
Das gleiche gilt im Prinzip gilt auch bei den utf8-Kollationen. Die Zeichencodierung ist hierbei dann immer UTF-8, und die Sortierung (für deutsche Sprache), die relevant ist, wäre utf8_general oder utf8_unicode. Unterschied zwischen beiden ist, dass einmal das "ß" als "s", das anderemal als "ss" sortiert wird.
Und meine 2 frage:
was hat das Attribute mit den einstellungen:
-Unsigned
-Unsigned Zerofill
Zahlenfelder sind standardmäßig mit Vorzeichen versehen, die 0 liegt dann in der Mitte des erlaubten Zahlenbereichs (Tinyint geht z.B. von -128 bis +127). Unsigned wird das Vorzeichen weggelassen, dadurch erweitert sich der Zahlenbereich im positiven, weil die 0 jetzt der kleinste Wert ist (unsigned Tinyint geht von 0 bis 255). Für Anwendungen, die keine negativen Zahlen benötigen, z.B. Datensatz-IDs, ist unsigned eine simple Methode, den nutzbaren Wertebereich zu verdoppeln.
Zerofill füllt mit führenden Nullen auf.
-On Update Current Timestamp
Das ist nur im Zusammenhang mit TIMESTAMP-Feldern relevant. TIMESTAMP-Felder haben unter Umständen die magische Eigenschaft, bei Veränderung irgendeines Feldes in ihrem Datensatz den Zeitpunkt dieser Änderung zu speichern, auch ohne dass man das explizit im SQL-Statement einfügt.
Ich habe allerdings mit MySQL 4.1 damit mal etwas experimentiert und rate dir, dieses Feature als Anfänger erstmal nicht zu nutzen. Lege, wenn du sowas machen willst, ein DATETIME-Feld an und fülle es explizit mit dem Funktionswert NOW(), wenn dorthinein eine aktuelle Zeit geschrieben werden soll.
- Sven Rautenberg