![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Sebastian Becker, 30. 10. 2005, 21:54
Hallo,
wie kann ich mit üblichen Hilfsmitteln wie z.B. phpMyAdmin die Reihenfolge der Felder einer mySQL-Datenbank ändern - so soll z.B. die ID an die erste Stelle wandern.
Ich weiß, daß dies für die Funktionalität unerheblich ist - es macht die Sache aber übersichtlicher und das Handling einfacher.
Eine automatische alphabetische Sortierung würde auch reichen ...
Danke für alle Hinweise, Grüße,
Sebastian Becker
Die folgende Nachricht zum Thema stammt von: Christian Kruse, 30. 10. 2005, 21:57
你好 Sebastian,
»» wie kann ich mit üblichen Hilfsmitteln wie z.B. phpMyAdmin die
»» Reihenfolge der Felder einer mySQL-Datenbank ändern - so soll z.B.
»» die ID an die erste Stelle wandern.
Neu anlegen.
»» Ich weiß, daß dies für die Funktionalität unerheblich ist - es macht
»» die Sache aber übersichtlicher und das Handling einfacher.
Ansichtssache…
再见,
克里斯蒂安
--
Neue Hardware eingebaut | Der dritte mir bekannte Block-Nutzer
Die Summe zweier gerade Primzahlen ist immer eine Quadratzahl.
http://wwwtech.de/
Die folgende Nachricht zum Thema stammt von: Sebastian Becker, 30. 10. 2005, 22:05
你好, 克里斯蒂安,
»» Neu anlegen.
also ich habe jetzt einen Dump mit der alten Reihenfolge. Wenn ich jetzt die Datenbank mit der gewünschten Feldreihenfolge neu anlege und den Dump importiere, bleibt also die neue Feldreihenfolge erhalten? Das wäre dann eine Lösung - aber umso umständlicher, je mehr Felder man hat.
Geht es nicht einfacher? Eine Option zum Verschieben von Feldern wäre auch in phpMyAdmin nicht schlecht. Gibt es kein Tool, das sowas kann?
Danke, Grüße,
Sebastian
Die folgende Nachricht zum Thema stammt von: Christian Kruse, 30. 10. 2005, 22:19
你好 Sebastian,
»» »» Neu anlegen.
»»
»» also ich habe jetzt einen Dump mit der alten Reihenfolge. Wenn ich jetzt
»» die Datenbank mit der gewünschten Feldreihenfolge neu anlege und den
»» Dump importiere, bleibt also die neue Feldreihenfolge erhalten?
Natürlich.
»» Geht es nicht einfacher? Eine Option zum Verschieben von Feldern wäre
»» auch in phpMyAdmin nicht schlecht. Gibt es kein Tool, das sowas kann?
Das scheitert daran, dass MySQL das nicht kann.
再见,
克里斯蒂安
--
Neue Hardware eingebaut | Der dritte mir bekannte Block-Nutzer
Wer sich zu überschwänglich freut, wir später Grund zum Weinen haben.
http://wwwtech.de/
Die folgende Nachricht zum Thema stammt von: Sebastian Becker, 30. 10. 2005, 22:35
你好, 克里斯蒂安,
»» Natürlich.
Also meine aus dem Dump der alten Datenbank stammenden INSERTS sehen jetzt im Prinzip so aus ...
INSERT INTO `gallery` VALUES ('Strasse 1', 'Vorname 1', 'Ort 1', 'Name 1');
INSERT INTO `gallery` VALUES ('Strasse 2', 'Vorname 2', 'Ort 2', 'Name 2');
...
Die neue Reihenfolge soll aber lauten ...
'Name', 'Vorname', 'Ort', 'Strasse'
Jetzt habe ich ein Problem: Die Werte werden in die falschen Felder eingesetzt - wat nu?
Danke, Grüße,
Sebastian
Die folgende Nachricht zum Thema stammt von: Mero, 30. 10. 2005, 22:50
»» 你好, 克里斯蒂安,
»»
»» »» Natürlich.
»»
»» Also meine aus dem Dump der alten Datenbank stammenden INSERTS sehen jetzt im Prinzip so aus ...
»»
»» INSERT INTO `gallery` VALUES ('Strasse 1', 'Vorname 1', 'Ort 1', 'Name 1');
»» INSERT INTO `gallery` VALUES ('Strasse 2', 'Vorname 2', 'Ort 2', 'Name 2');
»» ...
»»
»» Die neue Reihenfolge soll aber lauten ...
»»
»» 'Name', 'Vorname', 'Ort', 'Strasse'
»»
»» Jetzt habe ich ein Problem: Die Werte werden in die falschen Felder eingesetzt - wat nu?
»»
»» Danke, Grüße,
»»
»» Sebastian
Reihenfolge ändern, bzw im Insert-into bei der Tabelle auch angeben.
Insert into gallery(name,vorname,ort,strasse)
select name,vorname,ort,strasse from oldgallery;
Das Select am Schluss erspart dir den Käs mit den ganzen Values. Ein Statement für alle Einträge, statt ein Statement pro Eintrag.
MfG
Mero
Die folgende Nachricht zum Thema stammt von: dedlfix, 30. 10. 2005, 22:20
echo $begrüßung;
»» wie kann ich mit üblichen Hilfsmitteln wie z.B. phpMyAdmin die Reihenfolge der Felder einer mySQL-Datenbank ändern
Hast du schon mal im MySQL-Handbuch nachgesehen, ob der MySQL-Dialekt eine solche Möglichkeit bietet?
echo "$verabschiedung $name";
Die folgende Nachricht zum Thema stammt von: Sebastian Becker, 30. 10. 2005, 22:42
Hallo, dedlfix,
»» Hast du schon mal im MySQL-Handbuch nachgesehen, ob der MySQL-Dialekt eine solche Möglichkeit bietethttp://dev.mysql.com/doc/refman/5.0/en/alter-table.html
Ja, und mySQL sieht diese Möglichkeit wohl nicht vor - daher suche ich nach einer Methode, um diese fehlende Funktionalität zu ersetzen.
Ich könnte ja zum Beispiel einen CSV-Dump machen, die Felder in Excel verschieben und die Daten dann wieder nach mySQL schaufeln.
Leider kann phpMyAdmin aber so viel ich weiß keine CSV-Dateien importieren ...
Any ideas?
Danke, Grüße,
Sebastian
Die folgende Nachricht zum Thema stammt von: dedlfix, 30. 10. 2005, 23:01
echo $begrüßung;
»» »» Hast du schon mal im MySQL-Handbuch nachgesehen, ob der MySQL-Dialekt eine solche Möglichkeit bietet?
»»
»» Ja, und mySQL sieht diese Möglichkeit wohl nicht vor
Dann hast du das Handbuch nicht oder nicht richtig gelesen.
ALTER TABLE tbl_name MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
Das Handbuch sagt zwar was von "ab MySQL 5.0 möglich", ein Userkommentar behauptet jedoch dass es schon seit 4.0.1 möglich ist. Das bestätigt auch das gleiche Kapitel in einer ältere Version des Handbuchs.
echo "$verabschiedung $name";
Die folgende Nachricht zum Thema stammt von: Sebastian Becker, 30. 10. 2005, 23:42
Hallo,
Dank der eingegangenen Hinweise hat es jetzt geklappt (Lösungsweg siehe unten), Danke!
Grüße,
Sebastian
# Change the Order of Columns in a Table
# http://dev.mysql.com/doc/refman/5.0/en/change-column-order.html
CREATE TABLE `new_gallery` (
`id` int(11) NOT NULL auto_increment,
`file_name` varchar(50) default NULL,
`object_name` varchar(50) default NULL,
`description_1` varchar(50) default NULL,
`description_2` varchar(255) default NULL,
`metatext` varchar(50) default NULL,
`object_name_en` varchar(50) default NULL,
`description_1_en` varchar(50) default NULL,
`description_2_en` varchar(50) default NULL,
`metatext_en` varchar(50) default NULL,
`object_name_tk` varchar(50) default NULL,
`description_1_tk` varchar(50) default NULL,
`description_2_tk` varchar(50) default NULL,
`metatext_tk` varchar(50) default NULL,
`category` varchar(50) default NULL,
`object_width` int(11) default '0',
`object_height` int(11) default '0',
`object_length` int(11) default '0',
`mm` int(11) default '0',
`price_euro` varchar(50) default NULL,
`sold` int(11) default '0',
`made_year` int(11) default '0',
`photographer` varchar(50) default NULL,
`sequence` int(11) default '0',
`publish` int(11) default '0',
KEY `ID` (`id`)
) TYPE=MyISAM;
INSERT INTO `new_gallery` SELECT `id`, `file_name`, `object_name`, `description_1`, `description_2`, `metatext`, `object_name_en`, `description_1_en`, `description_2_en`, `metatext_en`, `object_name_tk`, `description_1_tk`, `description_2_tk`, `metatext_tk`, `category`, `object_width`, `object_height`, `object_length`, `mm`, `price_euro`, `sold`, `made_year`, `photographer`, `sequence`, `publish` FROM `gallery`;
DROP TABLE `gallery`;
ALTER TABLE `new_gallery` RENAME `gallery`;
© 1998-2006
Impressum, Software: Classic Forum