Inhalt (fast) aller Spalten verdoppeln

Arne Buchwald

Erfahrenes Mitglied
Hallo,

ich habe folgende Datenbank:
Code:
#
# Tabellenstruktur für Tabelle `blablub`
#

CREATE TABLE blablub (
  id int(11) NOT NULL default '0',
  tid int(11) NOT NULL default '0',
  uid int(11) NOT NULL default '0',
  ip varchar(100) NOT NULL default '',
  message blob NOT NULL,
  PRIMARY KEY  (id)
) TYPE=MyISAM;
Ich möchte alle Datensätze, wo z.B. tid = 12 entspricht, verdoppeln. Dabei müssen jedoch die ids der neuen Datensätze jeweils inkrementiert werden und das Feld z.B. tid = 30.

Gibt's dafür irgendwelche "Kurz-Befehle" oder bleibt mir nur die Möglichkeit mit verschiedenen Schleifen?
Wenn's ne "kurze Möglichkeit" gibt, bitte posten; wenn nur die Scheifenversion geht, baue ich mir den Code selber zusammen.
 
wie waers wenn id ein autoincrement ist ?
dann braucht du dich darum schonmal nicht zu kuemmern.
und eine "kurzloesung" waere das gute alte INSERT-SELECT:
INSERT INTO table SELECT irgendwas FROM table;
//dort sollte dann allerdings nicht deine id mit im select stehen, die wird dann durch das insert automatisch vergeben.

noch kurz: warum willst du datensaetze in dieser tabelle verdoppeln ?
hilfe! redundanz?! inkonsistenz?! ;)

http://www.mysql.com/doc/en/INSERT_SELECT.html
 
Hallo,

das System läuft auf Windows und als DBMS mySQL.

@gecko: Die Insert-Select-Möglichkeit kenne ich, geht jedoch in meinem Fall nicht. Das Feld id als AutoIncrement würde noch gehen, aber die tid (topic-id) muss neu gesetzt werden.
Damit ist das Insert-Select wohl diskriminiert.

Noch jemand eine Idee?

P.S.: Wofür ist denn das OS wichtig?
 
dann musst du das wohl oder uebel selber in einer schleife implementieren ...
 

Neue Beiträge

Zurück