php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.08.2010, 19:29  
Neuer Benutzer
 
Registriert seit: 31.08.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Krieger befindet sich auf einem aufstrebenden Ast
Standard MySQL Tabelle erweitern

Hallo,

Ich bin dabei eine Joomla 1.5 Komponente mit einer zusätzlichen Abfrage zu erweitern.
Wenn man diese Komponente neu installiert, dann wird die zusätzliche Abfrage in der Datenbank ordnungsgemäß erstellt.

Mein Problem bezieht sich auf ein Upgrade. Sprich wenn die Komponente bereits installiert ist, soll die Zeile durch nochmaliges installieren/upgraden hinzugefügt werden.

Ich dachte, dass es per INSERT INTO geht.

Aber irgendwie kommer ich nicht weiter. Nun bräuchte ich eure Hilfe, um auf den richtigen Trichter zu kommen.

Code:
CREATE TABLE IF NOT EXISTS #__XXX_YYYYYY (
  id int(10) unsigned NOT NULL auto_increment,
  user_id int(10) unsigned NOT NULL default '0',
  firstname varchar(200) default NULL,
  lastname varchar(200) default NULL,
  company varchar(200) default NULL,
  zip varchar(10) default NULL,
  city varchar(200) default NULL,
  country varchar(200) default NULL,
  phone varchar(200) default NULL,
  fax varchar(200) default NULL,
  street varchar(200) default NULL,
  Beispiel varchar(50) NOT NULL, <--- Um diese Abfrage handelt es sich.
  `comment` text NOT NULL,
  PRIMARY KEY  (id)
) ENGINE=MyISAM;
Vielen dank für eure Hilfe.

Grüße
Krieger
Krieger ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.08.2010, 20:08  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

So ganz werde ich aus deiner Problembeschreibung nicht schlau ...

Willst du eine zusätzliche Spalte in die Struktur einer Tabelle einfügen?
Das macht man natürlich nicht über INSERT INTO, denn das ist für Daten zuständig.

Vermutlich suchst du ALTER TABLE?
MySQL :: MySQL 5.1 Reference Manual :: 12.1.7 ALTER TABLE Syntax
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 31.08.2010, 20:27  
Neuer Benutzer
 
Registriert seit: 31.08.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Krieger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
So ganz werde ich aus deiner Problembeschreibung nicht schlau ...

Willst du eine zusätzliche Spalte in die Struktur einer Tabelle einfügen?
Das macht man natürlich nicht über INSERT INTO, denn das ist für Daten zuständig.

Vermutlich suchst du ALTER TABLE?
MySQL :: MySQL 5.1 Reference Manual :: 12.1.7 ALTER TABLE Syntax
Ja, sorry ALTER TABLE suche ich bzw. habe ich schon geschrieben gehabt.

alter table #_xxx_yyyyy add Beispiel varchar(50);

Diese Zeile war mein Gedanke. Aber das verursacht Fehler bei der Installation der Joomlakomponente.

Nochmal zu Erklätung:

Ich habe eine Komponente, wo ich eine weitere Abfrage für ein Formular hinzugeügt habe. Dies klappt auch, wenn die Installation frisch übers Backend installiert wird.

Dann trägt der obige SQL-Befehl die Spalte(?) in die Tabelle ein.

Wenn aber nun jemand die alte Komponente installiert hat und die neue Version drüber installiert, wird das Feld "Beispiel" nicht in die Tabelle eingetragen.

Das liegt vermutlich an den Befehl CREATE TABLE IF NOT EXISTS.

Ich möchte nun einen Weg finden, indem ich in die obige SQL Anweisung eine Befehlszeile einbaue, damit bei Drüberinstallation das Feld "Beispiel" in die Tabelle eingetragen wird.

P.S.: Ich hoffe es ist nun etwasverständlicher geschrieben.
Krieger ist offline   Mit Zitat antworten
Alt 31.08.2010, 20:37  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Krieger Beitrag anzeigen
alter table #_xxx_yyyyy add Beispiel varchar(50);

Diese Zeile war mein Gedanke. Aber das verursacht Fehler bei der Installation der Joomlakomponente.
Und welchen?

(Bitte gewöhne dir an, Fehlermeldungen immer konkret im Wortlaut zu zitieren - sonst kann man dir kaum weiterhelfen.)

Zitat:
Das liegt vermutlich an den Befehl CREATE TABLE IF NOT EXISTS.
Das soll ja nur die Tabelle erstellen, wenn sie noch gar nicht vorhanden ist - und wenn das Plugin vorher bereits installiert war, dann wird sie es aber sein.

Zitat:
Ich möchte nun einen Weg finden, indem ich in die obige SQL Anweisung eine Befehlszeile einbaue, damit bei Drüberinstallation das Feld "Beispiel" in die Tabelle eingetragen wird.
Das geht, wie gesagt, mit ALTER TABLE.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 01.09.2010, 20:19  
Neuer Benutzer
 
Registriert seit: 31.08.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Krieger befindet sich auf einem aufstrebenden Ast
Standard

Kleines Update.

Die Fehlerquelle habe ich durch eine 2. SQL Datei und einen 2. Eintrag in die install.php finden bzw. lösen können.

Vielen Dank für den Schubser. ALTER TABLE macht genau das, was es nun soll.
Krieger 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
Mysql Übereinstimmung von Datensätzen innerhalb einer Tabelle prüfen MrVienna PHP Tipps 2010 13 28.01.2010 17:46
Was ist das Limit der Datensätze in einer MySQL Tabelle? ph!l Datenbanken 3 17.01.2010 22:37
[Erledigt] mySQL Tabelle existenz Prüfung hadro Datenbanken 6 26.11.2009 13:50
Bildpfad in Tabelle mysql auslesen DKuhn Datenbanken 5 07.10.2009 13:46
Bilder in Tabelle einfügen Mysql oder direkt?! DKuhn PHP Tipps 2009 3 30.09.2009 10:14
MySql: Große Tabelle boolean Datenbanken 4 12.05.2009 07:01
[Erledigt] MySQL, Daten in Tabelle einlesen, Struktur funktioniert nicht ganz MasterChief PHP Tipps 2008 3 13.10.2008 11:39
Daten aus Mysql Tabelle über Arrays in Variabeln schreiben Toby PHP Tipps 2008 8 22.08.2008 10:01
MYSQL - ASCII query in UTF8 Tabelle PHP Tipps 2005-2 1 14.09.2005 14:43
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Tabelle nicht wird in MySQL erstellt! PHP Tipps 2005 2 01.04.2005 22:19
jede 2. Zeile aus MySQL Tabelle auslesen PHP Tipps 2004-2 4 09.11.2004 14:25
tabelle in Mysql übertragen Datenbanken 0 05.08.2004 10:23
Maximal Wert in MYSQL Tabelle nach id rausfinden? PHP Tipps 2004 3 03.07.2004 23:27

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/71348-mysql-tabelle-erweitern.html, mysql alter table, mysql tabelle erweitern, sql tabelle erweitern wenn spalte nicht vorhanden, sql tabelle erweitern, mysql tabelle erweitern feld, mysql tabelle erweitern alter table, datenbank tabelle erweitern wenn zeile nicht vorhanden, mysql daten erweitern, my sql joomla datenbank eigene tabellen, joomla mysql tabellen anlegen, was macht alter bei mysql, mysql tabelle php ergänzen, mysql tabelle ergänzen, mysql tabelle erweitern alter table beispiele, tabellen erweitern mit alter table und php, sql tabelle um eine spalte erweitern, was macht alter mysql, joomla 1.6 datenbank mysql felder erweitern, msql table erweitern

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 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