nö indirekt dafür gibt es die
ALTER TABLE funktion die oben angedeutet wurde
User bearbeiten geht mit der UPDATE funktion oder mit den Programmen
nö indirekt dafür gibt es die
ALTER TABLE funktion die oben angedeutet wurde
User bearbeiten geht mit der UPDATE funktion oder mit den Programmen
Heißt das, man kann damit dann Tabellen erstellen ohne Navicat oder phpMyAdmin zu besitzen?
dafür hab ich es gemacht, da viele damit nicht klarkommen
es funktioniert auch von Pawn aus
Ich lass es direkt per OnGameModeInit
machen, da er dann alles beim Serverstart anpasst
mit den phpMyAdmin kenn ich mich nicht so aus, da ich es zu selten nutze
Guten zusammen
Ich habe öfter mal gesehen, das einige Probleme damit haben, Datenbank tabellen zu erstellen.
Daher dachte ich mir, das ich es euch mal Zeige, wie ihr eine Tabelle vom Script aus erstellen könnt und wie ihr auch Felder hinzufügen könnt.
Bevor ihr was anfangen könnt, möchte ich euch auf das Thema hinweisen,
da ich nicht alles neu erklären möchte, wenn es hier schon gemacht wurde.
[ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)
Wenn ihr das soweit fertig habt, dann können wir anfangen.
Allerdings solltet ihr nicht die Tabelle erstellen wie es da beschrieben wird, sondern
den pawnteil machen.
Fangen wir an.
Um eine Tabelle zu erstellen fragen wir vorher nach ob es die gibt.
Dies Passiert bei meinen Beispielen gleich wenn er den query aufruft.
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` ()");
Hier fragen wir ab ob es die Tabelle `accounts` gibt.
wenn es die gibt macht er nicht weiter.
Gibt es die aber nicht erstellt er die in den fall jetzt ohne Spalten.
um Spalten hinzuzufügen, solltet ihr das beachten
int = Integer (also eine Zahl)
varchar = string (also eine Zeichenkette, wie z.b ein Name oder ein Passwort)
float = ein Float wert (also eine zahl mit nachkomma stellen)
Denn diese werte sind später für die Tabelle wichtig.
Wir möchten jetzt da in die Tabelle mal den wert `id` eintragen
Dies ist ganz einfach
wir nehmen den Code (query) und geben da den wert ein und dahinter, was es für ein Typ ist.
Die Typen sind im Zitat makiert!
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT)");
So hier sagen wir, das er die Tabelle `accounts` erstellen soll mit der Spalte `id`
Dies kann er auch schon aber wenn ihr dann auf die Tabelle zugreift gibt es eine Fehlermeldung, das kein PRIMARY KEY
angegeben wurde.
Was bewirkt der Primary Key?
der Primary key sagt, das es keine 0 Werte geben soll.
Dies funktioniert nur einmal in einer Tabelle, daher nehmen wir den wert id,
wenn ihr da ein Eintrag macht, werdet ihr sehen, das bei id nie eine 0 vorhanden ist.
also muss der query jetzt so aussehen
mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
jetzt haben wir den Primary Key auf den wert id gesetzt.
aber damit das auch richtig funktioniert, solltet ihr die alte Tabelle wieder löschen und dann den query neu ausführen lassen.
Das
ZitatENGINE=MyISAM DEFAULT CHARSET=latin1;
Sorgt dafür, das wenn ihr die tabelle leert, das der Auto_Increment wieder auf 0 gesetzt wird, sobald ihr die Tabelle leert
man kann es auch weglassen, aber dann werden die Auto_Increment (in den fall die Spalte ID) weitergehen
wenn ihr das gemacht habt, könnt ihr die Tabelle öffnen ohne ein Fehler zu bekommen.
Aber jetzt braucht ihr den wert `Name` in der Tabelle.
ich mach es mir da einfach, es gibt die Funktion
ALTER TABLE
hier wird bewirkt, das er eine Tabelle prüft, und fragt ob eine Spalte vorhanden ist
ist sie da macht er nichts ist sie aber nicht vorhanden, dann Trägt er sie ein, ohne das ihr was machen müsst mit
Navicat oder dergleichen.
Es ist praktisch aber sie Funktion ist noch mehr
hier mal ein kleines Muster
mysql_query("ALTER TABLE `accounts` ADD `Name` varchar(64)");
So hier lassen wir das machen:
Tabelle accounts wird nach der Spalte name durchsucht
Spalte name nicht gefunden
Spalte Name wird erstellt.
So ihr seht, das er die Spalte Name eingefügt hat. so wie wir es wollten.
aber wofür steht die 64 in den Klammern?
ganz einfach
64 ist die Länge und da in Pawn ein name 64 Zeichen hat, setzen wir den stringwert auf 64
Bei Passwörtern solltet ihr eine 128 nehmen
So bei Floats sollte es so sein:
mysql_query("ALTER TABLE `accounts` ADD `Health` float(20)");
Hier machen wir das selbe nur mit Float werten wie z.B. Leben
ich habe da jetzt 20 genommen, da es ein Optimaler wert ist für floats
Bei Intgern ist es auch nichts anderes aber trotzdem tu ich jetzt dazu auch noch ein Muster rein
mysql_query("ALTER TABLE `accounts` ADD `Skin` int(11)");
Erklären brauch ich ja nicht mehr was er da macht
diesmal haben wir ein Intgerwert gesetzt für Skin
der ist 11 Zeichen lang also könnt ihr das ruhig so lassen.
So bis hierhin war es das erstmal von mir aus wie man Tabellen vom Script aus erstellt, und hoffe mal das ihr
damit klarkommen werdet.
Bei Fragen steh ich in den Theard gerne zur verfügung
Alles anzeigenNaja letzte Woche:
Schon kaputt danke an mein Hund. (Bei Media Markt gekauft)
Naja wechsel ich jeden Monat da die Matt Folie immer so schnell zerkratzt.
Haha das erste und dritte hab ich auch xD
Und noch ne ladestation für das Apfel phone
Ein Thema reicht doch
Dann nehm ein neues Plugin und Compile das gamemode mit der include
ganz klar plugin entweder nicht geladen oder die falschen genommen
((Alle net frameworks drauf 7 aktualisiert?))
Klasse frage oder was das sein soll ohne code keine hilfe
nungut da der Server ja immernoch offline ist will ich von den TE wissen wofür das steht bzw was es bewirkt
mysql_query("SELECT UNIX_TIMESTAMP(NOW())");
Als MySQL Profi sollte man das wissen
Apfel phone
es reicht eine deklairung wie so z.B.
new Dia[2048],str[128];
format(str,128,"Beavis ist %d Jahre alt\n",alter);
strcat(Dia,str);
format(str,128,"Beavis wohnt in %s\n",wohnort);
strcat(Dia,str);
//am ende so:
ShowPlayerDialog(playerid, diaME, DIALOG_STYLE_MSGBOX, "ME", Dia, "Ok", "");
is nur ne einfche andeutung
man muss nicht alles neu deklairen das ist schwachsinn wenn ich es mal so sagen darf
dann zeig referenzen!
Die "IP" die du da gegeben hast is Down also stehst du da ohne eine referenz
nö einzeln mir ist nix anderes bekannt
so wie du es da hast, ist es eh die Beste metode
bei mehreren Einträgen verwende dann strcat, da du dann bei 1 Query bleibst
und die geschwindigkeit bleibt auf einer geschwindigkeit
klickcraft12.no-ip.org:7777
Wow viel zu sehen
Und zu den Punkt
Und ich habe Scripten gelernt
Wann?
Gestern suchst du einen und du willst mir erklären, das du alles in gut 11 Stunden gelernt hast?
Unglaubwürdig
sscanf kann nicht speichern du musst es dann so machen wie du es da hast
Könntest du dafür mal den kompletten command posten?
am besten den spec auch, denn dann seh ich was du da gebastelt hast
Aber auch hier die Frage wozu deklairst du pID wieder?
braucht man nicht
Zitat> Andre Teste mal:
new cgehalt = GetPVarInt(playerid,"Kopfgeld");
GivePlayerMoney(killerid,cgehalt);
darf man fragen wofür du ne deklairung machst?
ist unnötig wenn es auch so geht
GivePlayerMoney(killerid,GetPVarInt(playerid,"Kopfgeld"));
Scheint so als ob du nichts könntest zumindest denk ich mir das gerade
Die Anfrage ist ja mal sowas von lachhaft.
Perfekte MySQL kenntnisse
Beweise?
Ich wette das gegenteil
Und zeig mal referenzen
meld dich mal bei mir
Und was soll das Bringen?
daraus lernt er nix
//B2T
Les dir das sauber und in ruhe durch
[ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)