Announcement

Collapse
No announcement yet.

Mehrere Daten gleichzeitig eintragen

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

  • #16
    SklaveRat wenn du ~Standard~ definierst als das was mySQL tut dann magst du Recht haben. Das ist aber ausgesprochen eindimensional gedacht.
    INSERT VALUES mit multiplen Valuelisten ist nicht Standard(zumindest nach meiner Definition von Standard die sich nach ANSI richtet).

    Richte einen Verbindungsserver(falls MySQL einen Standardentsprechenden OLEDB Provider hat ) in MSSQL auf deine MySQL Datenbank ein.
    Und führe dann einen direkten INSERT SELECT Befehl aus. Ist Transaktional(falls sich MySQL an die üblichen Transaktionsstandards hält)und kommt ohne irgendwelche Import/Export Dateien aus.

    Comment


    • #17
      Erstmal werde ich ohne L geschrieben ;P

      Und könntest du ein Beispiel für eine INSERT SELECT abfrage posten?
      mundus vult decipi, ergo decipiatur

      Comment


      • #18
        Also ich würde das ganze dann einfach mittels Stored Procedure probieren. In der Stored Procedure den Insert Befehl mit EINEM Value, sodass er beim Aufruf der Procedure immer einem Wert einträgt. Die Werte kannst du ihm per Parameter übergeben. Dann einfach in einer Schleife für jede Zeile aus der MySQL-Tabelle diese Procedure aufrufen und schon läuft es ohne großartigen Programmieraufwand.

        Gruß!

        Comment


        • #19
          Ja, die Idee hatte ich auch zeitweise, aber ich glaube es geht SkaveRat ja gerade um den Performance Verlust durch das mehrfach aufrufen des INSERT Befehls. Und wenn er jedesmal diese Prozedur aufruft....

          Gruß Matze

          Comment


          • #20
            Bei gerade mal 900 Einträgen kann man eigentlich nicht von meinem nennenswerten Performanceverlust rede. Das sollte jeder Computer eigentlich schaffen.

            Comment


            • #21
              Eine schleife kann ich auch mit PHP programmieren, das ist nicht das problem.

              Es geht mir einzig und alleine darum, dass ich nicht alle 5min hunderte von queries an die DB schicke. Es ist und bleibt nunmal ein ziemlicher performanceaufwand, und das möchte ich verhindern.
              mundus vult decipi, ergo decipiatur

              Comment


              • #22
                Sorry für das 'L' SkaveRat. (Hab deinen Namen jetzt sicherheitshalber per Copy& Paste übertragen )


                Zum Insert Select Beispiel:
                (Annahme du hast einen Verbindungsserver auf deine mySQL Datenbank eingerichtet)

                Insert into SQLSERVERTABLE(Spalte1, Spalte2,Spalte3)
                SELECT Spalte1, Spalte2, Spalte3 FROM [Verbindungservername].[Datenbankname].[Datenbankbesitzer].[MySQLTabelle]


                Falls es in MySQL keine Entsprechung für Datenbankname und/oder Datenbankbesitzer gibt diese einfach weglassen.
                Also z.b. [Verbindungservername]...[MySQLTabelle] (man beachte insbesondere die Punkte!)

                Da du wohl nicht alle Daten übertragen willst kannst du natürlich einfach eine WHERE Clause dranhängen.

                Comment

                Working...
                X