CreateTabelle geht immer wieder durch..

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend,
    Wie kann ich es machen das er nur eimal die tabellen erstellt..

    stock CreateDatenbank()
    {
    new query[580];
    //Account Datenbank
    print("Datensätze wird erstellt.");
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    mysql_fquery(query);
    return 1;
    }
    stock CreateBugTabelle()
    {
    new query[580];
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `bugs` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    mysql_fquery(query);
    format(query, sizeof(query), "ALTER TABLE `bugs` ADD `name` varchar(255)");
    mysql_fquery(query);
    format(query, sizeof(query), "ALTER TABLE `bugs` ADD `bugtext` varchar(255)");
    mysql_fquery(query);
    return 1;
    }

  • ja aber er geht trozdem alle durch..
    und gibt mir das in der log aus

    [18:00:04] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'wantedpoints'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'playminutes'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'gesamtminutes'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'minutessincean'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'offflucht'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'knast'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'uhr'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'knasttime'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'perso'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'gehalt'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'fraksperre'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'housekey'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'renthousekey'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'kampfstyle'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'flugtime'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'fahrpunkte'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'banned'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'name'
    [18:00:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1060) Duplicate column name 'bugtext'

  • Das liegt daran, dass du immer wieder ALTER TABLE aufrufst.
    Erstelle die Spalten gleich im CREATE TABLE Statement, dann passiert das nicht mehr.
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `bugs` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `bugtext` varchar(255), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");

  • Danke...
    hatte kolege gemacht :D


    ehm @Jeffry
    muss das dann also so


    ?
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11),`supporter` int(11),`donaterank` int(11),`registered` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");

    Einmal editiert, zuletzt von Xtrats ()

  • Ja, nur musst du aufpassen, dass die Zeile nicht zu lang wird, sonst meckert der Compiler. Dann musst du es auf zwei format's aufteilen, also so:
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11),");
    format(query, sizeof(query), "%s`supporter` int(11),`donaterank` int(11),`registered` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Beitrag von pierre65 ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Jeffry war schneller ^^ ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Damit das Query übernommen wird:
    //Erster Teil:
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11),");
    //Zweiter Teil, in "query" steht der erste Teil. An die Stelle von %s kommt jetzt, dadurch dass hinten "query" steht, der erste Teil rein, somit ist das ganze komplett.
    format(query, sizeof(query), "%s`supporter` int(11),`donaterank` int(11),`registered` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);

  • ich habe es jetzt so..

    stock CreateDatenbank()
    {
    new query[580];
    //Account Datenbank
    print("Datensätze wird erstellt.");
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    format(query, sizeof(query), "%s`supporter` int(11),`donaterank` int(11),`registered` int(11),`Sex` int(11),`herkunft` varchar(128),`e-mail` varchar(128),`Alter` int(11),`muted` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`respect` int(11),`bargeld` int(11),`bank` int(11),`sponsorlevel` int(11),`crimes` int(11),`kills` int(11),`deaths` int(11),`arrested` int(11),`wanteddeaths` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`job` int(11),`paycheck` int(11),`jailed` int(11),`jailtime` int(11),`drugs` int(11),`day` int(11),`month` int(11),`leader` int(11),`member` int(11),`fmember` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`rank` int(11),`headvalue` int(11),`contracttime` int(11),`boxskill` int(11),`lawskill` int(11),`newsskill` int(11),`drugsskill` int(11),`local` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`team` int(11),`model` int(11),`regfertig` int(11),`carlic` int(11),`flylic` int(11),`boatlic` int(11),`fishlic` int(11),`gunlic` int(11),`lkwlic` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`motolic` int(11),`zig` int(11),`zigsucht` int(11),`cartime` int(11),`payday` int(11),`cdplayer` int(11),`wins` int(11),`alcoholperk` int(11),`drugperk` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`traderperk` int(11),`tutorial` int(11),`warnings` int(11),`mp3` int(11),`BadWordWarns` int(11),`zollpass` int(11),`spawn` int(11),`hauskasse` int(11),`mauled` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`neon` int(11),`married` int(11),`verheiratet` varchar(32),`wantedlevel` int(11),`wantedpoints` int(11),`playminutes` int(11),`gesamtminutes` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`minutessincean` int(11),`offflucht` int(11),`knast` int(11),`uhr` int(11),`knasttime` int(11),`perso` int(11),`gehalt` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s`fraksperre` int(11),`housekey` int(11),`renthousekey` int(11),`kampfstyle` int(11),`flugtime` int(11),`fahrpunkte` int(11),`banned` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    format(query, sizeof(query), "%s PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query);
    mysql_fquery(query);
    return 1;
    }

  • also dann so ?
    stock CreateDatenbank(){ new query[580]; //Account Datenbank print("Datensätze wird erstellt."); format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;"); format(query, sizeof(query), "%s`supporter` int(11),`donaterank` int(11),`registered` int(11),`Sex` int(11),`herkunft` varchar(128),`e-mail` varchar(128),`Alter` int(11),`muted` int(11)", query); format(query, sizeof(query), "%s`respect` int(11),`bargeld` int(11),`bank` int(11),`sponsorlevel` int(11),`crimes` int(11),`kills` int(11),`deaths` int(11),`arrested` int(11),`wanteddeaths` int(11)", query); format(query, sizeof(query), "%s`job` int(11),`paycheck` int(11),`jailed` int(11),`jailtime` int(11),`drugs` int(11),`day` int(11),`month` int(11),`leader` int(11),`member` int(11),`fmember` int(11)", query); format(query, sizeof(query), "%s`rank` int(11),`headvalue` int(11),`contracttime` int(11),`boxskill` int(11),`lawskill` int(11),`newsskill` int(11),`drugsskill` int(11),`local` int(11)", query); format(query, sizeof(query), "%s`team` int(11),`model` int(11),`regfertig` int(11),`carlic` int(11),`flylic` int(11),`boatlic` int(11),`fishlic` int(11),`gunlic` int(11),`lkwlic` int(11)", query); format(query, sizeof(query), "%s`motolic` int(11),`zig` int(11),`zigsucht` int(11),`cartime` int(11),`payday` int(11),`cdplayer` int(11),`wins` int(11),`alcoholperk` int(11),`drugperk` int(11)", query); format(query, sizeof(query), "%s`traderperk` int(11),`tutorial` int(11),`warnings` int(11),`mp3` int(11),`BadWordWarns` int(11),`zollpass` int(11),`spawn` int(11),`hauskasse` int(11),`mauled` int(11)", query); format(query, sizeof(query), "%s`neon` int(11),`married` int(11),`verheiratet` varchar(32),`wantedlevel` int(11),`wantedpoints` int(11),`playminutes` int(11),`gesamtminutes` int(11)", query); format(query, sizeof(query), "%s`minutessincean` int(11),`offflucht` int(11),`knast` int(11),`uhr` int(11),`knasttime` int(11),`perso` int(11),`gehalt` int(11)", query); format(query, sizeof(query), "%s`fraksperre` int(11),`housekey` int(11),`renthousekey` int(11),`kampfstyle` int(11),`flugtime` int(11),`fahrpunkte` int(11),`banned` int(11)", query); format(query, sizeof(query), "%s PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;", query); mysql_fquery(query); return 1;}



    hab das in der log

    [20:03:05] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`supporter` int(11),`donaterank` int(11),`registered` int(11),`Sex` int(11),`her' at line 1
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:03:06] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist

  • geht nicht

    print("Datensätze wird erstellt.");
    format(query, sizeof(query), "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) AUTO_INCREMENT, `name` varchar(255), `password` varchar(255),`level` int(11),`adminlevel` int(11), PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
    format(query, sizeof(query), "%s `supporter` int(11),`donaterank` int(11),`registered` int(11),`Sex` int(11),`herkunft` varchar(128),`e-mail` varchar(128),`Alter` int(11),`muted` int(11)", query);
    format(query, sizeof(query), "%s `respect` int(11),`bargeld` int(11),`bank` int(11),`sponsorlevel` int(11),`crimes` int(11),`kills` int(11),`deaths` int(11),`arrested` int(11),`wanteddeaths` int(11)", query);
    format(query, sizeof(query), "%s `job` int(11),`paycheck` int(11),`jailed` int(11),`jailtime` int(11),`drugs` int(11),`day` int(11),`month` int(11),`leader` int(11),`member` int(11),`fmember` int(11)", query);
    format(query, sizeof(query), "%s `rank` int(11),`headvalue` int(11),`contracttime` int(11),`boxskill` int(11),`lawskill` int(11),`newsskill` int(11),`drugsskill` int(11),`local` int(11)", query);
    format(query, sizeof(query), "%s `team` int(11),`model` int(11),`regfertig` int(11),`carlic` int(11),`flylic` int(11),`boatlic` int(11),`fishlic` int(11),`gunlic` int(11),`lkwlic` int(11)", query);
    format(query, sizeof(query), "%s `motolic` int(11),`zig` int(11),`zigsucht` int(11),`cartime` int(11),`payday` int(11),`cdplayer` int(11),`wins` int(11),`alcoholperk` int(11),`drugperk` int(11)", query);
    format(query, sizeof(query), "%s `traderperk` int(11),`tutorial` int(11),`warnings` int(11),`mp3` int(11),`BadWordWarns` int(11),`zollpass` int(11),`spawn` int(11),`hauskasse` int(11),`mauled` int(11)", query);
    format(query, sizeof(query), "%s `neon` int(11),`married` int(11),`verheiratet` varchar(32),`wantedlevel` int(11),`wantedpoints` int(11),`playminutes` int(11),`gesamtminutes` int(11)", query);
    format(query, sizeof(query), "%s `minutessincean` int(11),`offflucht` int(11),`knast` int(11),`uhr` int(11),`knasttime` int(11),`perso` int(11),`gehalt` int(11)", query);
    format(query, sizeof(query), "%s `fraksperre` int(11),`housekey` int(11),`renthousekey` int(11),`kampfstyle` int(11),`flugtime` int(11),`fahrpunkte` int(11),`banned` int(11)", query);
    mysql_fquery(query);


    habs jetzt so aber er zeigt in der log immer noch das

    [20:06:43] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`supporter` int(11),`donaterank` int(11),`registered` int(11),`Sex` int(11),`her' at line 1
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:44] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist
    [20:06:45] [ERROR] CMySQLQuery::Execute[CheckAccount] - (error #1146) Table 'samptest.accounts' doesn't exist

  • In der ersten Zeile steht das Zeug immer noch drin.
    Und du hast die letzte Zeile gelöscht, anstatt ein Komma hinzuzufügen. :huh:


    Nimm nochmal den Code aus deinem Post zuvor und schau dir nochmal an, was ich geschrieben habe.


    Oder poste den Code so, dass man ihn lesen kann, nicht dass alles grün ist ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen