Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MYSQL Tabelleninhalte in Datenbank rumkopieren?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 25.02.2006, 22:26

Hallo Forum,

ich habe eine Datenbank, in der es unter anderem Tabelle_1 und Tabelle_2 gibt.
Jetzt möchte ich automatisert die Inhalte von Tabelle_1 in Tabelle_2 kopieren mit Ausnahme von ID 2,4,7

Geht das? Wenn ja, wie?

Gruß

Ole

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


derHund
PostRank 5
PostRank 5
Beiträge: 296
Registriert: 08.01.2005, 14:39

Beitrag von derHund » 26.02.2006, 00:43

benutz phpmyadmin zum kopieren und löscht die drei zeilen ;)

Code: Alles auswählen

INSERT INTO t2
SELECT ...
FROM t1
WHERE id NOT IN (2,4,7)

ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 26.02.2006, 10:19

Ich bin leider nicht so der große MYSQL-Fachmann.

Kann man das nicht alles schön in eine nette php-Datei packen?

Dann müsste ich nur noch www.domain.de/copy.php ausführen und alles wäre gut..

marki
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.08.2005, 14:49
Wohnort: Rosenberg

Beitrag von marki » 26.02.2006, 10:42

Musst du einfach in PHPmyAdmin eingeben.

ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 26.02.2006, 12:04

Was muss denn hinter "select ..." eingefügt werden?

marki
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.08.2005, 14:49
Wohnort: Rosenberg

Beitrag von marki » 26.02.2006, 12:33

Select ist eine Abfrage in der einige Tupel ausgegeben werden. Du kannst entweder
SELECT *
nehmen, um alle Spalten abzufragen oder
SELECT >spalte(n)<
gezielt verwenden. Glaube ich zumindest.

Smoerble
PostRank 5
PostRank 5
Beiträge: 201
Registriert: 18.05.2004, 09:12
Wohnort: bei München

Beitrag von Smoerble » 26.02.2006, 14:56

Also sollte es so aussehen:

Code: Alles auswählen

INSERT INTO t2
SELECT *
FROM t1
WHERE id NOT IN &#40;2,4,7&#41; 
Klappt natürlich nur, wenn in t2 und t1 die Spaltennamen gleich sind.

ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 26.02.2006, 16:12

@ smoerble:
Die Spaltennamen sind identisch. Werde es Morgen mal ausprobieren.

Gebe dann ne kurze Rückmeldung.

Anonymous

Beitrag von Anonymous » 26.02.2006, 18:11

das SELECT * dürfte aber Probleme geben, wenn du einen UNIQUE KEY z.B. den PRIMARY KEY hast, und in beiden t2 dieser einen gleichen Wert hat wie in t1....

wenn z.B. das feld id der PRIMARY KEY in beiden tabellen ist und dieser automatisch hochzählt, ist eine sehr hohe Wahrscheinlichkeit gegeben, dass es zu doppelten Werten bei der id kommen wird, da dann besser alle felder ausser id hinter dem SELECT angeben:

SELECT FELD1, FELD2, FELD3.....

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag