Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

append column (kolumne anhaengen)

hallo leute

eine anfaenger frage:

gibt es nen einfachen weg, an eine bestehende MySQL tabelle noch eine
kolumne (mit daten!) anzuhaengen ?
(vorausgesetzt natuerlich, das die zahl der reihen die selbe ist)

Man koennte natuerlich ein csv exportieren, extern editieren, in einem der
etlichen programme die es gibt , dann eine zusatzliche kolumne in der MySQL
tabelle anfuegen, den inhalt de tabelle voellig leeren, und das csv importieren,
aber da gibt es doch sicher was eleganteres und schnelleres, oder ?

beste gruesse und vielen dank im voraus.

doonee

Hier gehts zum Orginal Eintrag "append column (kolumne anhaengen)" im Forum

Antworten

Hi

Nehmen wir an, t1 ist deine um die neue Spalte n1 (noch leer) erweiterte Tabelle, Primärschlüssel p1
Dann haben wir eine Tabelle t2, die einen identen Primärschlüssel wie t1 besitzt, t2 und die neue Spalte n2 (hier mit Daten gefüllt). Die Zeilenanzahl t1 kann größer gleich jener von t2 sein (d.h. nicht jede Reihe von t1 muss einen Inhalt in n1 bekommen)

Code:                   In Zwischenablage kopieren (nur IE)
1">

wäre dann die "Übernahme der Daten"


2.

hi osterix

danke, !
:)

und wenn, sagen wir mal,
t1 insgesamt 10 spalten hat,
und t2 lediglich 2 (p1 und n1),
(und die primaerschluessel identisch sind)
klappt das dann auch ?

gruss
d


3.

Hi

Klar. Es ist vollkommen egal, wieviele Spalten t1 hat.
Wichtig sind nur die Primärschlüssel und die "neue" Spalte.
Auch mehrere neue Spalten gleichzeitig einzufügen wäre möglich.


4.

osterix

voller erfolg
vielen dank !!!

doonee


5.

osterix

klappt das nur, wenn n1 voellig leer ist, oder keonne da auch daten drin sein ?
sontige ausnahmen ?
ich habs ein paar mal probiert, mit MySQLadmin und auch MySQLfront, aber admin
reklamiert was von einem syntax error, und fornt setzt lauter nullen ein.

wieso gibts nen syntax error ?

ich gib mal den wortlaut der query durch wie eingegeben:

UPDATE `munigeo`, `muniamb`
SET `munigeo.KM2seich` = `muniamb.KM2sei`
WHERE `munigeo.sID` = `muniamb.sID`

ist das duer dich ok ?
natuerlcih unter der bedingung, dass die
t1, t2, n1, n2, p2, p2 alle vom namen stimmen.
(aber dann wuerde es ja keinen syntax errror geben)

gruss
d


6.

Hi


Wenn eine der beiden beteiligten Tabellen leer ist, wirst du kaum ein Update schaffen, weil ja dann die WHERE Bedingung NIE zutreffen kann.
Code:                   In Zwischenablage kopieren (nur IE)
2">

bist du sicher, dass `muniamb.KM2sei` nicht eigentlich `muniamb.KM2seich` heissen sollte?


7.

hi osterix

danke nochmal fuer die muehe !!!
die situation ist wie von dir weiter oben beschrieben

beide tabellen muniamb (t2 )und munigeo (t1), sind voll.

muniamb hat eine spalte, 'KM2sei' (n2), die in eine leere (!) spalte, 'KM2seich' (n1),
erweitert wurde, wo die daten von t2.n2 hinsollen.

prrimaerschluessel (p1, p2) sind in beiden tabellen voll,
und haben obendrein denselben namen sID.

also,
aus

Code:                   In Zwischenablage kopieren (nur IE)
3">



folgt doch dann eigentlich

Code:                   In Zwischenablage kopieren (nur IE)
4">



oder nich ?

da ist noch irgendwas faul.
gibt es ausnhmen ?
(die felddefinitionen fuer n1 und n2 sind uebrigens auch die selben)

gruss
d


8.

Hi

2 Bitten
1. Poste mal den exakten Worlaut der Meldung
2. Führe mal folgendes Stmt aus
Code:                   In Zwischenablage kopieren (nur IE)
5">

und schildere das Ergebnis


9.

--frohe ostern, osterix
:)

wird gemacht.

doonee

ps
errata:

sorry fuer den text der letzten meldung. der ist
irgendwie beim einfuegen teilweise durcheinander geraten.


dort steht:
-------
'muniamb hat eine spalte, 'KM2sei' (n2), die in eine leere (!) spalte, 'KM2seich' (n1),
erweitert wurde, wo die daten von t2.n2 hinsollen.'
-------


sollte aber heissen:
-----
'muniamb (t2) hat eine spalte, 'KM2sei' (n2), deren daten in eine leere (!) spalte, 'KM2seich' (n1),
hineinsollen, die sich in munigeo (t1) befindet und zwecks datenuebernahme dort neu hinzugefuegt
wurde.
------
sorry nochmal.
d


10.

fuer die UPDATE query gibt es:

Code:                   In Zwischenablage kopieren (nur IE)
6">



fuer den INNER JOIN gibt es

bei navicat

1054:
unknown column munigeo.KM2seich in field list

by phpmyadmin:

MySQL said:
Unknown column 'munigeo.KM2seich' in 'field list'

MySQL Front zeigt:
execution error # 1054
Unknown column 'munigeo.KM2seich' in 'field list'

das ist etwas seltsam, denn:
-------------------------------------------------------------------------------
Database ecobahia
table munigeo running on www.ebahia.org

Field Type
sID smallint(3)
ssort smallint(3)
cID smallint(3)
csort smallint(3)
munig varchar(30)
KM2seich float(10,2)
alti varchar(4)
lati varchar(10)
longi varchar(10)
dist smallint(4)
---------------------------------------------------------------------------------

MysQL version ist uebrigens 3.23.49
Hat das vielleicht was damit zu tun ?


11.

Zitat:
doonee postete

fuer den INNER JOIN gibt es

bei navicat

1054:
unknown column munigeo.KM2seich in field list

by phpmyadmin:

MySQL said:
Unknown column 'munigeo.KM2seich' in 'field list'

MySQL Front zeigt:
execution error # 1054
Unknown column 'munigeo.KM2seich' in 'field list'

das ist etwas seltsam, denn:
-------------------------------------------------------------------------------
Database ecobahia
table munigeo running on www.ebahia.org

Field Type
sID smallint(3)
ssort smallint(3)
cID smallint(3)
csort smallint(3)
munig varchar(30)
KM2seich float(10,2)
alti varchar(4)
lati varchar(10)
longi varchar(10)
dist smallint(4)

ALLE 3 Meldungen besagen, dass die Column nicht existiert, und am Ende zeigst du mir eine Tabellendefinition, in der diese Spalte sehr wohl vorhanden ist..

Gewissensfrage: Führst du deine Statements auch am selben Server aus, von dem du die Tabellenstruktur gepostet hast?? Ich kann es eigentlich nicht glauben.


12.

ich schwoere !!!

ich hab wirklich 10 x hingeguckt.
:)

hab das feld geloescht und wieder hingepackt.
hab die tabelle ge-backup-t und wieder drauf gepackt.
nix hilft.

ich hab sogar in erwaegung gezogen, das sich die drei
frontends gegenseitig an der nase herumfuehren,
was sehr gut vorkommen kann, man wenn man ihre
views nicht aktualisiert.
aber die fehlermeldungen kommen von tests, bei
denen jeweils die anderen beiden programme geschlossen waren.

auch wenn sonst nichts stimmt , mein gewissen ist rein !!
:)

die auflistung ist von PHPMyAdmin.
Mit dem wurde die tabelle auch erstellt,
und von derselben session sind auch die fehlermeldungen.

klar ist es der selbe server.

andere queries mit dem feld funkionieren uebrigens.

und die uebertragungs technik 'versagte' auf die gleiche weise
bereits bei anderen feldern.

ich hab das akute problem mitllerweile mit der
'csv runter-csv editieren-csv wieder rauf-technik'
geloest, aber ich bin schon sehr neugierig, ob
ich deine arbeitsweise, die ja sehr viel mehr sinn macht,
hier nochmal ans laufen bekomme.

beste gruesse
doonee.


Hier gehts zum Orginal Eintrag "append column (kolumne anhaengen)" im Forum
 
phpforum.de | Impressum | Handy Bundles