michael: select-ergebnis in neue tabelle schreiben

Hallo alle zusammen,

ich habe ein recht umfangreiches select-statement,
dessen ergebnis ich gern in eine neue tabelle schreiben würde.

also gar nicht erst groß anzeigen lassen, sondern direkt weg damit in eine neue tabelle ;-)

ich hab mal ein bißchen gesucht, bin aber nur auf folgendes gestoßen:

SELECT * INTO neue_tabelle FROM alte_tabelle WHERE ......

aber irgendwie klappt das nicht, ich bekomme nur fehlermeldungen.
muß die tabelle schon existieren?
oder kann ich das so machen, daß mysql die tabelle mit aufruf des querys neu erstellt und die vorhandenen datentypen übernimmt?

hilfe... ;-)

grüße,
michael

  1. Hi,

    hilfe... ;-)

    falls 'MS SQL Server', musstest Du mit 'sp_dboption' die Option 'insert into' (oder so ae.) aendern.

    Gruss,
    Lude

    1. hallo,

      falls 'MS SQL Server', musstest Du mit 'sp_dboption' die Option 'insert into' (oder so ae.) aendern.

      sorry, hatte ich ganz vergessen:
      ist ein MySQL Server.....

      1. Halihallo michael

        falls 'MS SQL Server', musstest Du mit 'sp_dboption' die Option 'insert into' (oder so ae.) aendern.

        sorry, hatte ich ganz vergessen:
        ist ein MySQL Server.....

        <cite origin="michael, 1. Posting">
        oder kann ich das so machen, daß mysql die tabelle mit aufruf des querys neu erstellt und die vorhandenen datentypen übernimmt?
        </cite>

        ^^^^^

        :-)

        Viele Grüsse

        Philipp

        1. Hi,

          <cite origin="michael, 1. Posting">
          oder kann ich das so machen, daß mysql die tabelle mit aufruf des querys neu erstellt und die vorhandenen datentypen übernimmt?
          </cite>

          ^^^^^

          :-)

          sowas passiert halt, wenn die Deutsche Rechtschreibung missachtet wird; dann wird auch der Leser oberflaechlicher.   :-)

          Gruss,
          Lude

          PS: Muss hier immer wieder lesen, was "mysql" nicht kann. Was ist "mysql" eigentlich fuer eine Pfeife?

          1. Halihallo Lude

            sowas passiert halt, wenn die Deutsche Rechtschreibung missachtet wird; dann wird auch der Leser oberflaechlicher.   :-)

            Oh, ja. Passiert mir ja auch genug, dass ich etwas übersehe ;-)

            PS: Muss hier immer wieder lesen, was "mysql" nicht kann. Was ist "mysql" eigentlich fuer eine Pfeife?

            MySQL kann einiges nicht, aber die Funktionalitäten werden immer Ausgebaut und in 5
            Jahren kann es mit Oracle konkurrieren ;-)
            Nein, im ernst, es kann zumindest ein grosser Teil des Grundlegenden (obwohl
            Mengenoperationen fehlen auch :-() und somit reicht es für die meisten Anwendungen.
            BTW: Hast du sonst wo schon FullText Indizies gesehen? - Es gibt auch Vorteile ;)

            Viele Grüsse

            Philipp

            1. Hi,

              BTW: Hast du sonst wo schon FullText Indizies gesehen? - Es gibt auch Vorteile ;)

              nein, das koennen die boesen Maenner von Microsoft auch schon. Und es funktioniert sogar.

              Gruss,
              Lude

  2. Halihallo michael

    ich habe ein recht umfangreiches select-statement,
    dessen ergebnis ich gern in eine neue tabelle schreiben würde.

    Hast du dich über REPLACE INTO beschäftigt?
    http://www.mysql.com/doc/en/REPLACE.html

    SELECT * INTO neue_tabelle FROM alte_tabelle WHERE ......

    Du hast http://www.mysql.com/doc/en/ANSI_diff_SELECT_INTO_TABLE.html
    gelesen?

    aber irgendwie klappt das nicht, ich bekomme nur fehlermeldungen.

    Dann nenne diese, wir sind keine Hellseher!

    muß die tabelle schon existieren?

    Ja.

    oder kann ich das so machen, daß mysql die tabelle mit aufruf des querys neu erstellt und die vorhandenen datentypen übernimmt?

    Das ist das Problem, mysql errät keine Datentypen.

    Viele Grüsse

    Philipp