Autor | Zpráva | ||
---|---|---|---|
kabanos Profil * |
#1 · Zasláno: 3. 10. 2008, 11:39:52
Ahoj,
dá se nějak zpřeházet pořadí sloupců v Mysql tabulce. Příklad mám v tabulce sloupce id,zprava,prijmeni,jmeno a chtěl bych, aby se mi v tabulce zobrazovali např. v pořadí id,jmeno,prijmeni,zprava. Chci to hlavně z toho důvodu, že mám více tabulek a chci je spojit. Každá tabulka má sice stejné sloupce jako ty ostatní, ale bohužel v jiném pořadí. Spojení bych chtěl provést tak, že databázy vyexportuju a pak vyedituju soubor a spojim si je ->Proto potřebuji stejné pozice stejných sloupců. Nikde se mi to nepodařilo najít. Dík |
||
kajaman Profil |
#2 · Zasláno: 3. 10. 2008, 11:44:45
Myslím, že přesunovat sloupce v MySQL nejde, protože to k ničemu není.
Jakým způsobem budeš databázi exportovat a tabulky spojovat - v jakém souboru? |
||
Mastodont Profil |
#3 · Zasláno: 3. 10. 2008, 11:47:04
INSERT INTO nova_tabulka SELECT ....
|
||
nightfish Profil |
#4 · Zasláno: 3. 10. 2008, 11:49:36
manuál mysql říká, že když už to opravdu potřebuješ udělat, tak následovně:
1) vytvořit novou tabulku se správným pořadím sloupců 2) INSERT INTO `jmenonovetabulky` SELECT sloupec2, sloupec1, sloupec3 FROM `staratabulka`; 3) DROP TABLE `staratabulka`; 4) ALTER TABLE `jmenonovetabulky` RENAME `staratabulka`; |
||
kabanos Profil * |
#5 · Zasláno: 3. 10. 2008, 11:50:17
no vyexportuju celou databázi do sql souboru, kde se mi vytvoří (kromě dalšícho kódu) řádky typu:
INSERT INTO `st_data1` VALUES (1, '1', 'a', 'b'); INSERT INTO `st_data1` VALUES (2, '1', 'd', 'e'); INSERT INTO `st_data2` VALUES (1, 'a', '1', 'b'); INSERT INTO `st_data2` VALUES (2, 'd', '1', 'e'); Které bych pak dal k sobě, ale problém mám v tom pořadí jednotlivých sloupců v každé z tabulek. |
||
RAmses Profil |
#6 · Zasláno: 3. 10. 2008, 12:01:44
kabanos
vyexportuj si pouze data do csv souboru, který můžeš otevřít v Excelu a jendotlivé sloupce přeházet jak potřebuješ. V tabulce (vyprázdněné) si upravíš pořadí atributů a poté importuješ data z csv souboru. Každopádně si nejdřív udělej zálohu do sql |
||
_es Profil |
#7 · Zasláno: 3. 10. 2008, 12:14:30
Možno sa bude viac hodiť:
LOAD DATA LOCAL INFILE |
||
kabanos Profil * |
#8 · Zasláno: 3. 10. 2008, 12:49:17
Hmm, díky. Asi to udělám dle Nightfishe (jistota). Přes Excel to taky občas dělám, ale v tomto konkrétním případě to moc nejde, protože tam mám různá data (např. datumy a čísla začínající 0,...a nevim co ještě dalšího) které mi Excel zprzní, takže si nejsem jistý výsledkem.
Jinak dík všem |
||
leossilny Profil |
#9 · Zasláno: 3. 10. 2008, 15:12:16
... Pro spojování více tabulek do jednoho výstupu v rámci jednoho SQL dotazu lze také použít SQL příkaz UNION:
SELECT Column1, Column2 FROM Table1 UNION SELECT Column1, Column2 FROM Table2 Pořadí sloupců zde pak ovlivníte už v samotném zápisu dotazu. Jediná podmínka je, že v obou selektech musí být stejný počet sloupců. Možná to bude pro Vás jednodušší než dělat exporty a ručně je spojovat. |
||
Časová prodleva: 16 let
|
0