Beiträge von [EGC] selEcT

    für was verändern? was willst du dort dann noch ändern?


    Ausser das mit dem Primärschlüssel ist eigentlich unnötig was du da machst. Mach einfach ein neues feld ID und definierst dann das als Primary Key.


    SQL
    CREATE TABLE `user` (
      `ID` INT AUTO_INCREMENT NOT NULL,
      `User` text NOT NULL,
      `Passwort` text NOT NULL,
      `Admin` int(1) NOT NULL DEFAULT '0',
      PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8


    Ein Primärschlüssel dient eigentlich dazu, einen Datensatz eindeutig zu identifizieren. In mysql für samp eigentlich nicht nötig, da meist ein fremdschlüssel von einem anderen Datensatz auf den Primärschlüssel dieses Datensatzes zugreifgt, für das braucht man eigentlich den Primärschlüssel. Aber im Hauptbereich steht eigentlich die Eindeutigkeit des Datensatzes bzw. eines Tupels einer Relation zu definieren.

    Das kann ja gut sein:


    Zitat

    Vielleicht kennt ja schon jemand eines meiner Filterscripte aus dem sa-mp.com forum. Tja, im moment ist es ja leider geschlossen, ich frag mich, wann sich das ändert. Aber da ich meine scripts sowieso mal mit deutschen Infos und Anleitungen veröffentlichen wollte, nutze ich mal die Gelegenheit.

    Ah so ok. Bin nur drüber gefolgen sry :D


    Kürzer geht es auch so:


    einfach auf das Feld SQL klicken und das eingeben:


    CREATE TABLE `user` (`ID` INT NOT NULL AUTO_INCREMENT ,`Playername` TEXT ,`Money` INT ,PRIMARY KEY ( `ID` ) )


    Bedeuted soviel wie "Erstelle Tabelle user (Feld ID als INTeger (zahl) darf nicht null sein und ist ein Auto inkrement (zählt selber rauf),Feld Playername als textfeld,Feld Money als INTeger (zahl),füge den Primärschlüssel (ID) hinzu"


    Danach hat sich eine Tabelle user erstellt. Weiter felder kann man da hinzufügen, in dem man links auf die Tabelle geht und in der rechten Bildschirmhälfte unten bei "1 Felder hinzufügen" auf OK klickt (da kann man auch mehrere Felder eingeben, also statt 1 auch 2 oder 3). Auswählen kann man auch noch wo genau man dieses Feld hinzufügen möchte, also an den anfang, ans ende oder sonst wohin. Nach einem Klick auf OK kann man einen Feldnamen geben (bei Feld). Zum Beispiel: Banned. Da dieses Feld logischerweise einen Zahlenwert braucht (1 und 0) kann man ihm den Typ "INT" geben. Hierfür eifach bei Typ klicken und INT auswählen. Bei den anderen Feldern muss man eigentlich nichts einstellen (bei Null "not null" vielleicht rausnehmen, falls der wert nicht unbedingt vorhanden sein muss) und auf Speichern klicken.


    So hast du deine erste Tabelle erstellt ;) Am besten lernst du ein bisschen SQL, denn das ist vorteilhaft beim scripten mit mysql. ;)


    MFG


    edit: noir: schöne zeichnungen :thumbup:

    Wow, ich hab noch nie gesehen das du hilfe brauchst :D


    B2T:


    Als erstes musst du dort eine Tabelle erstellen (z.B. user). In dieser Tabelle machst du dann z.B. die Felder ID (auto increment und integer), Playername (als text) und Money (als integer). Ich hoffe du weisst wie man die erstellt ;) (den syntax für den msssql server wüsste ich auswendig, ich weiss aber net wie der von mysql genau geht und ob der gleich ist).


    Welches Plugin verwendest du?


    MFG

    Hi leute


    Hat vielleicht net viel mit samp zu tun ^^


    aber wie mache ich, dass ein MD5 Hash in der MySQL Tabelle grossbuchstaben hat? so gehts iwie net..


    UPDATE user SET Password=UPPER(MD5('passwort'')) WHERE ID=1


    es bleibt klein in der tabelle.. wie kann ich das sonst in grossbuchstaben machen? oder wie kann ich etwas im script alles in kleinbuchstaben anzeigen lassen?


    MFG selEcT


    edit: habs raus: UPDATE user SET Password=UPPER(CONVERT(MD5('passwort') using latin1)) WHERE ID=1

    die ids sind nicht unbedingt alle der reihe nach. Aber so könnte man es auch machen ja, aber es wäre halt irgendwie einfacher, wenn die 9999 auch echt bestimmt ist. Die ID wird eben mit der ID vom Spieler abgeglichen, das heisst der spieler mit der Tabellenid 3 hat auch das fahrzeug mit der tabellenid 3 (funktioniert auch so ;) ).


    Hab das jetzt mal so probiert, allerdings ist mir das irgendwie recht schade, das er da soviele datensätze durchgeht, die es gar nicht hat.. Wieviele Datensätze kann eine Tabelle haben? Dann kann ich die MAX_BLA durch eben diese anzahl ersetzen..

    ja, das hab ich mir auch schon gedacht, aber wie find ich eben dieses MAX_BLA raus? das ist eben mein problem :D Es würde gehen, wenn die anzahl immer gleich ist, dies ist allerdings eben nicht so! kann man nicht irgendwie die anzahl in eine variable schreiben? was ich machen könnte ist, ich könnte für MAX_BLA irgendwie eine Zahl (50 oder maximale anzahl slots) geben, aber das wäre mehr ressourcenlastiger und geht sicher auch anders. Gibts denn keine andere möglichkeit?

    also ^^


    sagen wir mal, meine tabelle "fahrzeuge" hat X datensätze. Von dieser Tabelle möchte ich ALLE Datensätze auslesen (also irgendwie mit SELECT COUNT(*) FROM fahrzeuge). Danach soll eine While- oder Forschleife kommen, die die Daten eines Datensatzes einzeln ausliest und dann zum nächsten Datensatz springt, wenn der Datensatz am Ende ist.


    Verstanden? ^^


    MFG

    Hallo leute!


    Hab ne frage, wie kann ich im script alle datensätze einer mysql-tabelle nacheinander abfragen? irgendwie mit for (im script) und COUNT (bei abfrage)? Wie man mit einer select abfrage einen datensatz holt, das ist kein problem.. wisst ihr was ich meine?


    MFG selEcT