Tabelle automatisch anlegen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabelle automatisch anlegen

    Guten Tag,

    ich habe mich mal im Forum nach meinem Problem umgesehen, aber leider nichts passendes gefunden. Deshalb frage ich nun hier nach.

    Ich habe eine Tabelle mit dem Namen "test". Wenn diese Tabelle nun 500 Datensätze beinhaltet, dann soll eine neue Tabelle mit der Struktur der Tabelle "test" und den Namen test1" erstellt werden. Hat diese wiederum 500 Einträge, so soll wieder eine neue Tabelle "test2" erstellt werden usw.

    Hat jemand ne Idee wie man das mit PHP lösen kann?

  • #2
    PHP Code:
    if($ausgelesene_id == 500)
    {
    mysql_query("CREATE TABLE ...") or die(mysql_error();

    nur so als Vorschlag
    it's not a bug,
    it's a feature!

    Comment


    • #3
      nur so zur info:

      du weißt dass mysql wesentlich(!!!) mehr als 500 datensätze verwalten kann und dass es nicht unbedingt sinnvoll ist neue tabellen anzulegen?!?

      Comment


      • #4
        Das ist mir schon klar. Wenn ich z.B. eine neue Tabelle anlege, dann soll sie ja fortlaufend benannt werden, sprich test1, test2, test3 usw.
        Wie mache ich das ?

        Comment


        • #5
          Original geschrieben von XGremliN
          PHP Code:
          if($ausgelesene_id == 500)
          {
          mysql_query("CREATE TABLE ...") or die(mysql_error();

          nur so als Vorschlag
          oder
          PHP Code:
          if($ausgelesene_id == 500)
          {
          $sql "create table test_new select * from test where 1=2";
          mysql_query($sql) or die(mysql_error();

          so wird eine neue leere Tabelle mit identischer Struktur angelegt.

          Comment


          • #6
            Das mit dem Anlegen ist mir schon klar. Es geht mir um die Bezeichnung der Tabellen. Wie ich schon sagte: test, test1, test2 usw.

            Comment


            • #7
              Original geschrieben von Davidt
              Das ist mir schon klar. Wenn ich z.B. eine neue Tabelle anlege, dann soll sie ja fortlaufend benannt werden, sprich test1, test2, test3 usw.
              Wie mache ich das ?
              über SHOW TABLES kannst du Namen der existierenden Tabellen bekommen.

              Comment


              • #8
                Original geschrieben von Davidt
                Das mit dem Anlegen ist mir schon klar.
                ich glaube nicht, dass du den Trick mit create table ... where 1=2 kennst, und ich behaupte, dass die meistens Forumsbesucher hier es auch nicht wissen

                Comment


                • #9
                  Original geschrieben von asp2php
                  ich glaube nicht, dass du den Trick mit create table ... where 1=2 kennst, und ich behaupte, dass die meistens Forumsbesucher hier es auch nicht wissen
                  da hast du recht könntest du das etwas erläutern? klingt interessant...

                  ich hätte es halt so gemacht:
                  mit SHOW TABLE STATUS (http://dev.mysql.com/doc/mysql/de/sh...le-status.html) tabellennamen holen (mit LIKE auf testxxx einschränken), in nen array und sortieren lassen -> beim letzten element test entfernen und ich hab die zahl.

                  nur nochmal nebenbei: ich wüsste kein anwendungsgebiet bei dem mehrere exakt gleiche tabellen benötigt werden...
                  Last edited by magman; 25-02-2005, 11:07.

                  Comment


                  • #10
                    Original geschrieben von magman
                    da hast du recht könntest du das etwas erläutern? klingt interessant...
                    was gibt's denn da zu erläutern? mit create table <name> select ... legst du eine Tabelle mit identischer Struktur an und füllst sie gleichzeitig mit Daten der Ursprungtabelle, durch where 1=2 verhinderst du dieses Füllen.
                    nur nochmal nebenbei: ich wüsste kein anwendungsgebiet bei dem mehrere exakt gleiche tabellen benötigt werden...
                    - z.B. in Newbie 's Anwendungen, denn Unwissen + Fleiß = Chaos
                    - bei Anwendungen mit einem Versager als DB-Designer
                    - ...

                    Comment


                    • #11
                      Original geschrieben von asp2php
                      was gibt's denn da zu erläutern? mit create table <name> select ... legst du eine Tabelle mit identischer Struktur an und füllst sie gleichzeitig mit Daten der Ursprungtabelle, durch where 1=2 verhinderst du dieses Füllen.
                      stimmt... von der seite hab ich das gar nicht gesehen! hab an irgendetwas kompliziertes gedacht danke!


                      - z.B. in Newbie 's Anwendungen, denn Unwissen + Fleiß = Chaos
                      - bei Anwendungen mit einem Versager als DB-Designer
                      - ...
                      das sind natürlich plausible anwendungsgebiete...

                      Comment

                      Working...
                      X