php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.06.2004, 12:10  
Gast
 
Beiträge: n/a
Standard Daten aus einer Spalte in eine andere Tabelle einfügen

Hallo zusammen

Ich habe 2 Tabellen:

CREATE TABLE `cs_user_firm_ref` (
`csufr_pk` int(11) NOT NULL auto_increment,
`cs_pk` int(11) NOT NULL default '0',
`user_pk` int(11) NOT NULL default '0',
`firm_pk` int(11) NOT NULL default '0',
`cs_string` varchar(200) NOT NULL default '',
PRIMARY KEY (`csufr_pk`)
) TYPE=MyISAM

CREATE TABLE `competence_string` (
`cs_pk` int(11) NOT NULL auto_increment,
`cs_string` varchar(200) NOT NULL default '',
PRIMARY KEY (`cs_pk`)
) TYPE=MyISAM

Wie ihr seht ist cs_pk in der Tabelle cs_user_firm_ref ein Fremdschlüssel und verweisst auf competence_string.

Mir ist da ein Missgeschick beim Datenbankdesign passiert und nun möchte ich die Datensätze aus der Spalte cs_string von competence_string in die Spalte cs_string von cs_user_firm_ref updaten. Natürlich nach cs_pk.

Ich stell mir irgendwie vor, dass ich mit UPDATE die Daten aus der einen Tabelle in die andere verschieben kann, aber ich kriege einfach den SQL String nicht hin...
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.06.2004, 12:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Der dafür nötige SubSelect ist erst ab MySQL 4.x möglich.

Dir bleibt aber die Variante, ein SELECT zu bauen, dass die Struktur der Tabelle nachbildet, einschliesslich des Schlüssels (SELECT `table`.*, `otherTable`.id AS foreignKey) und ein CREATE TABELE davor setzt ...

Danach kannst du die alte Tabelle wegschmeissen und die neue umbenennen ...
Guradia ist offline   Mit Zitat antworten
Alt 30.06.2004, 12:25  
Gast
 
Beiträge: n/a
Standard Daten hineinkriege

Und wie kriege ich die Daten in die neue Tabelle...

Weisst Du das mit den Subselects gleich so aus dem Bauch heraus?

Ich habe hier sonst einen Testserver mit 4.x und da kann ich die Datenbank kurz importieren und anschliessend wieder exportieren...
  Mit Zitat antworten
Alt 30.06.2004, 12:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Der 3.x Weg:
Code:
CREATE TABLE cs_user_firm_refNew`
SELECT  `cs_user_firm_ref`.`csufr_pk`,
        `competence_string`.`cs_pk`,
        `cs_user_firm_ref`.`user_pk`,
        `cs_user_firm_ref`.`firm_pk`
FROM    `cs_user_firm_ref`
    INNER JOIN  `competence_string`
        ON  `cs_user_firm_ref`.`cs_string` = `competence_string`.`cs_string`
Guradia ist offline   Mit Zitat antworten
Alt 30.06.2004, 13:43  
Gast
 
Beiträge: n/a
Standard Danke

Hat super funktioniert...

Vielen Dank Guradia!
  Mit Zitat antworten
Alt 22.10.2009, 11:21  
Erfahrener Benutzer
 
Registriert seit: 30.07.2009
Beiträge: 276
PHP-Kenntnisse:
Anfänger
Sp1n ist in Verruf geraten
Standard

Wie würde das dann gehen wenn ich,
ich alle Einträge aus der Spalte "JOB" von der Tabelle "emp"
in die Spalte "JobENG" von der Tabelle "jobs" importieren möchte?

Vielen Dank
Sp1n ist offline   Mit Zitat antworten
Alt 22.10.2009, 12:41  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

So:

PHP-Code:
INSERT INTO
    jobs 
(JobENG
SELECT
    emp
.JOB
FROM
    emp 
PS: wieso machst du kein neues Thread auf! Ich hab jetzt sinnigerweise den ganzen Thread gelesen und danach 2004 gesehen *grr*
erc ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Prüfen, ob ein Wert in der Tabelle ist Inchie PHP Tipps 2008 2 02.07.2008 21:08
[Erledigt] Daten aus einer Tabelle mit Form Select weiter geben ch4in PHP Tipps 2008 12 06.06.2008 21:42
Kopieren eines Eintrags von der einen Tabelle in die andere Plague Datenbanken 3 13.06.2007 12:31
Daten in Tabelle ausgeben Morientes PHP Tipps 2006 2 03.04.2006 11:53
MySQL Daten in sichtbarer Tabelle ausgeben PHP Tipps 2006 6 14.03.2006 14:33
[Erledigt] Nimmt andere Tabelle bei update als ich gesagt hab??? Datenbanken 4 23.04.2005 12:16
Daten aus Tabelle Löschen PHP Tipps 2005 6 07.01.2005 23:23
[Erledigt] Problem beim Eintragen neuer Daten in die Tabelle PHP Tipps 2004-2 10 28.12.2004 13:16
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
Primary Key der einen Tabelle in die andere? Paulo PHP Tipps 2004 2 04.09.2004 11:36
Mehrere Daten in Tabelle ein/auslesen PHP Tipps 2004 2 03.09.2004 09:03
Spalte anlegen und in diese Daten einfügen Anuschka PHP Tipps 2004 11 09.08.2004 00:43
[Erledigt] Andere Tabelle? Datenbanken 1 29.06.2004 10:55
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45
Datensätze verschieben? von Tabelle in eine andere? Datenbanken 3 04.06.2004 11:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
spalte aus anderer tabelle einfügen sql, sql daten aus anderer tabelle importieren, daten aus einer tabelle in eine andere einfügen select, datensätze in andere spalte kopieren, mysql inhalt einer spalte in eine andere kopieren, my sql eine spalte auslesen und in einer anderen einfügen, sql werte aus einer tabelle in andere tabelle einfügen, mysql spalte in andere spalte einfügen, wert aus mysql spalte kopieren und in andere tabelle einfügen, mysql datensätze an tabelle anhängen, einer spalte zu ander tabelle einfügen mysql, sql aus row auslesen in andere einfügen, datenbank tabelle auslesen und in andere tabelle einfügen, mysql daten aus anderer tabelle einfügen, mysql datensätze aus anderer tabelle anhängen, inhalte einer spalte von einer tabelle in die andere tabelle, mysql datenaus einer andere tabelle einfügen, datensatz einer tabelle in eine tabelle einfügen, sql tabelle über andere tabelle updaten, spalte kopieren mysql update

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.