Seite 1 von 1
Dussel ist - "alte" Datensätze in neue Tabelle übe
Verfasst: 21.01.2007 21:08
von Steinchen_HH
Hallo,
Ihr seid doch so super-fit hier *beten* Ja, ich habe schon die Suchfunktion benutzt Laughing

!
Ich habe eine alte Tabelle mit einer anderen Struktur als die neue Tabelle (Gästebuchwechsel).
Wie kriege ich die Datensätze (nicht wenige, bzw. zu viele ums händisch zu machen) in die neue Tabelle?
Alle Parameter anpassen??? Oder geht dann was in die Büchs?
Wahrscheinlich ists super easy, aber ich suche einfach nach den falschen Begriffen und werd deswegen nicht fündig!
Na, Jungs, zeigt dem Mädel mal, wo der Wald steht, den sie nicht sieht
Schönen Sonntag noch.
Die Eva
PS: Wär auch deswegen toll, wenn ich wüßt, wie man Tabelleninhalte ändert, denn dann könnt ich die Smilie-Tabelle auch viiiiel leichter anpassen

Verfasst: 21.01.2007 21:39
von Pyramide
Wenn nur Felder hinzugefügt / umbenannt / gelöscht wurden:
Code: Alles auswählen
INSERT INTO neue_tabelle (feld_1, feld_2, feld_3, feld_4)
SELECT feld_5, feld_2, "Feld 3", feld_4 FROM alte_tabelle
den SELECT Teil kannst du natürlich beliebig erweitern.
Verfasst: 21.01.2007 21:55
von Steinchen_HH
Super, das ist ja schonmal ein gar prächtig Ansatz
Nun hab ich nen Fehler gekriegt:
SQL-Befehl: Dokumentation
INSERT INTO myphpgb_entries2( `id` , `date` , `ip` , `name` , `email` , `homepage` , `text` )
SELECT `lfd` , `datum` , `ipaddr` , `name` , `email` , `url` , `meinung`
FROM meinungen
MySQL meldet: Dokumentation
#1062 - Duplicate entry '1' for key 1
Und dann kommt der hier:
SELECT *
FROM Array
WHERE CONCAT_WS( "-", `id` , `date` , `ip` , `name` , `email` , `homepage` , `text` ) = "1"
ORDER BY `id` , `date` , `ip` , `name` , `email` , `homepage` , `text`
LIMIT 0 , 30
MySQL meldet: Dokumentation
#1146 - Table 'db1066298-1.Array' doesn't exist
Dies hier die Strukturen der beiden Tabellen:
Alte GB hat die Einträge in die Tabelle "meinungen" geschrieben 3hundertund-Einträge.
`lfd` int(11) NOT NULL auto_increment,
`datum` datetime default NULL,
`sichtbar` enum('0','1') collate latin1_german1_ci NOT NULL default '0',
`ipaddr` varchar(15) collate latin1_german1_ci NOT NULL default '',
`name` varchar(127) collate latin1_german1_ci NOT NULL default '',
`email` varchar(128) collate latin1_german1_ci NOT NULL default '',
`url` varchar(128) collate latin1_german1_ci NOT NULL default '',
`meinung` text collate latin1_german1_ci NOT NULL,
PRIMARY KEY (`lfd`),
KEY `datum` (`datum`)
Das neue GB schreibt in "phpgb_entries"
`comment` text collate latin1_german2_ci NOT NULL,
`date` varchar(10) collate latin1_german2_ci NOT NULL default '',
`email` varchar(50) collate latin1_german2_ci NOT NULL default '',
`homepage` varchar(150) collate latin1_german2_ci NOT NULL default '',
`icq` int(9) NOT NULL default '0',
`id` mediumint(7) NOT NULL auto_increment,
`ip` varchar(15) collate latin1_german2_ci NOT NULL default '',
`status` tinyint(1) NOT NULL default '0',
`name` varchar(27) collate latin1_german2_ci NOT NULL default '',
`activation_code` varchar(32) collate latin1_german2_ci NOT NULL default '',
`text` text collate latin1_german2_ci NOT NULL,
`time` varchar(5) collate latin1_german2_ci NOT NULL default '',
PRIMARY KEY (`id`)
Ihr seid echt spitze, wenn ich das mal so sagen darf!
Was mach ich denn falsch???
Verfasst: 21.01.2007 22:31
von Pyramide
Steinchen_HH hat geschrieben:#1062 - Duplicate entry '1' for key 1
Das heißt du versuchst einen Eintrag mit dem Wert 1 einzufügen, obwohl dieser bereits existiert (betrifft vermutlich das id/lfd Feld). Also entweder die Zieltabelle vorher leeren oder z.B. "SELECT lfd+10, ..." verwenden wenn in der Zieltabelle bereits 10 Datensätze existieren.
Steinchen_HH hat geschrieben:#1146 - Table 'db1066298-1.Array' doesn't exist
Die Tabelle "Array" existiert nicht...
Verfasst: 21.01.2007 22:41
von Steinchen_HH
Super, die Doppelbelegung hab ich gelöscht, nun hab ich ein Spaltenproblem #1241 - Operand should contain 1 column(s)
Die Tabelle "Array" existiert nicht...
*lach* Danke...

Bin mit nem Engländer verheiratet
Danke Dir, Pyramide, für Deine Geduld mit so dusseligen Hühnern wie ich eine bin

Verfasst: 21.01.2007 22:50
von Pyramide
Steinchen_HH hat geschrieben:nun hab ich ein Spaltenproblem #1241 - Operand should contain 1 column(s)
Bei welcher SQL Anweisung?
Verfasst: 22.01.2007 09:29
von Steinchen_HH
Bei jener:
INSERT INTO myphpgb_entries2 ( `id` , `date` , `ip` , `name` , `email` , `homepage` , `text` )
SELECT `lfd` , `datum` , `ipaddr` , `name` , `email` , `url` , `meinung`
FROM meinungen