tabellen teil kopieren
am 05.07.2006 12:35:22 von Neugi
Hi,
ich versuche einen gewissen teil von einer datenbank in eine andere zu
kopieren mit den folgenden syntax
mySql:
INSERT INTO `testbd`.`ARTIKEL`
SELECT *
FROM `testdb2`.`ARTIKEL` , `testdb`.`ARTIKEL`
WHERE `testdb2`.`ARTIKEL`.`ARTNUM` >
MAX( `testdb`.`ARTIKEL`.`ARTNUM` )
funktionieren sollte das so, das nur die artikel nummern die sich von
der einen zur anderen unterscheinden in die andere kopiert werden.
damit diese den gleichen inhalt enthalten.
gruz
Re: tabellen teil kopieren
am 05.07.2006 12:51:33 von Christian Kirsch
neugii@gmail.com schrieb:
> Hi,
>
> ich versuche einen gewissen teil von einer datenbank in eine andere zu
> kopieren mit den folgenden syntax
>
> mySql:
> INSERT INTO `testbd`.`ARTIKEL`
> SELECT *
> FROM `testdb2`.`ARTIKEL` , `testdb`.`ARTIKEL`
> WHERE `testdb2`.`ARTIKEL`.`ARTNUM` >
>
> MAX( `testdb`.`ARTIKEL`.`ARTNUM` )
>
> funktionieren sollte das so, das nur die artikel nummern die sich von
> der einen zur anderen unterscheinden in die andere kopiert werden.
> damit diese den gleichen inhalt enthalten.
>
Und was ist jetzt Deine Frage?
Vielleicht solltest Du
http://dev.mysql.com/doc/refman/5.0/en/insert-select.html nochmal
lesen, ggfs. die Version, die für *Deine* MySQL-Version zutrifft.
Re: tabellen teil kopieren
am 05.07.2006 12:57:19 von Neugi
naja das funktioniert leider nicht,
und jetzt wollt ich fragen ob wer einen tipp hat was ich da falsch
gemacht habe.
mysql version ist 4.0.24
gruz
Re: tabellen teil kopieren
am 05.07.2006 13:14:39 von Christian Kirsch
Neugi schrieb:
> naja das funktioniert leider nicht,
>
> und jetzt wollt ich fragen ob wer einen tipp hat was ich da falsch
> gemacht habe.
>
> mysql version ist 4.0.24
>
Naja, dann lies doch bitte die Dokumentation von MySQL 4.0 zu INSERT
INTO ... SELECT und guck' Dir genau an, ob Deine MySQL-Version das kann,
was Du da tun willst.
Und gewöhn Dir bitte an, Postings so zu formulieren, dass diejenigen,
von denen Du Antwort haben willst, sie auch verstehen. Dazu gehört eine
VERNÜNFTIGE Fehlerbeschreibung. "funktioniert leider nicht" ist das
nicht. Wenn Du eine Fehlermeldung bekommst, dann *lies* sie. Versuch'
sie zu verstehen, und wenn das nicht hilft, kopiere sie in Dein Posting.
Eine Tastatur mit funktionierender Umschalttaste, die Du dann auch
benutzt, hilft zudem der Lesbarkeit Deines Postings. Großbuchstaben
dienen nicht dazu, Leute zu nerven, sondern ihnen das Verständnis von
Texten zu erleichtern.
Re: tabellen teil kopieren
am 05.07.2006 13:48:09 von Thomas Rachel
neugii@gmail.com wrote:
> Hi,
>
> ich versuche einen gewissen teil von einer datenbank in eine andere zu
> kopieren mit den folgenden syntax
>
> mySql:
> INSERT INTO `testbd`.`ARTIKEL`
> SELECT *
> FROM `testdb2`.`ARTIKEL` , `testdb`.`ARTIKEL`
> WHERE `testdb2`.`ARTIKEL`.`ARTNUM` >
>
> MAX( `testdb`.`ARTIKEL`.`ARTNUM` )
>
> funktionieren sollte das so, das nur die artikel nummern die sich von
> der einen zur anderen unterscheinden in die andere kopiert werden.
> damit diese den gleichen inhalt enthalten.
* Aufgrund der letzten Bedingung noch mal eine Nachfrage:
- Alle die, die sich unterscheiden, (laut Deinem Text), oder
- nur die, die (wie Du's gemacht hast) "neu" dazugekommen sind?
Falls ersteres: Schau Dir mal bei der Gelegenheit noch das Kapitel über
LEFT/RIGHT JOIN im Manual an.
* Wie lautet Deine Tabellenstruktur der beiden Tabellen? (SHOW CREATE TABLE)
* Bist Du sicher, daà das SELECT * die gleiche Spaltenstruktur (Anzahl,
Reihenfolge) aufweist wie es für das INSERT INTO notwendig ist? (Ich bin
mir ziemlich sicher, daà dem nicht so ist)
* Warum diese "`" drumrum? Die machen das Ganze unlesbar und sind nur nötig,
wenn Du ansonsten ungültige Zeichen oder Schlüsselwörter in Deinen
Tabellen- und Spaltennamen verwendest.
Thomas