aha44 (Użytkownik)
Prawa Ręka Admina
Posty: 166
|
Import do SQLa z pominieciem kolumn 2007/10/19 18:04 |
Oklaski: 16 |
Mo¿e g³upio trochê to zabrzmi ale mêcze siê z czymœ takim: Chcê zaimportowaÌ bezpoœrednio do tabeli w bazie danych dane, z innej bazy, ktorej poszczegolne pola / kolumny nie do konca sa zgodne ze struktura tabeli do ktorej ma to byc zaimportowane, wiec podczas importu musze pomin¹Ì niektóre kolumny (nie ma mozliwoœci ich wyciêcia - z roznych powodow np. bo s¹ w œrodku tekstu). Pytanie: Móg³by ktoœ mi podaÌ prawid³ow¹ sk³adnie do tego? Kod: | INSERT INTO `jos_content` (id, title, introtext, state, sectionid, catid, created) VALUES ('', 'tytu³', 'tekst docelowy', 'kolumna niechciana 1', 'kolumna niechciana 2', 1, 17, 104, NOW());
|
w pierwszej czĂŞÂści wiadomo sÂą nazwy pĂłl, w drugiej importowany tekst. Mnie chcodzi o coÂś takiego - jakiego okreÂślenia uÂżyĂŚ w pierwszej czĂŞÂści, miĂŞdzy introtekst a state, by nie zaimportowaÂło mi tekstu ktĂłry oznaczyÂłem jako "kolumna niechciana 1 i 2"
Proszê o pomoc, osobiœcie nie znam zbytnio SQLa, hmm prawie wcale  , a nie moge znaleœÌ nigdzie indziej jakiejœ w miare prostej sk³adni, która rozwi¹zywa³aby mój problem.
Nie chce ingerowaÌ w teks np z importem do excela czy Accesa by roz³o¿y³o mi te kolumny w œrodku na kolumny by móc je po prostu usun¹Ì bo poleci mi kodowanie znaków, a i z tym jest w h.. roboty po 300 tyœ danych.
|
|
|
Temat został zablokowany. |
Krzysztof Stachyra (Administrator Forum)
Administrator Forum
Posty: 697
|
Odp:Import do SQLa z pominieciem kolumn 2007/10/22 00:43 |
Oklaski: 88 |
aha44 napisaÂł:MoÂże gÂłupio trochĂŞ to zabrzmi ale mĂŞcze siĂŞ z czymÂś takim:
Chcê zaimportowaÌ bezpoœrednio do tabeli w bazie danych dane, z innej bazy, ktorej poszczegolne pola / kolumny nie do konca sa zgodne ze struktura tabeli do ktorej ma to byc zaimportowane, wiec podczas importu musze pomin¹Ì niektóre kolumny (nie ma mozliwoœci ich wyciêcia - z roznych powodow np. bo s¹ w œrodku tekstu).
Pytanie: Móg³by ktoœ mi podaÌ prawid³ow¹ sk³adnie do tego? No czeœÌ Aha44. WidaÌ  , ¿e struktura bazy danych SQL jest Ci ma³o znana, co nie stanowi jakiejœ ujmy. Bo nie tylko Ty nie " czujesz" tematu. Ale nie tylko o bazê danych tutaj chodzi. Chodzi te¿ o strukturê artyku³ów w Joomla! czy Mambo. Bo przecie¿ wiesz, ¿e aby artyku³ zaistnia³, musi byÌ w okreœlonej sekcji i kategorii. No chyba ¿e jest to materia³ statyczny. Ale z tego co piszesz, nie o takie Tobie chodzi. I teraz co ty chcesz zrobiÌ: aha44 napisa³:
Kod: | INSERT INTO `jos_content` (id, title, introtext, state, sectionid, catid, created) VALUES ('200', 'tytuÂł', 'tekst wprowadzajacy', 'kolumna niechciana 1 - Publikacja', 'kolumna niechciana 2', 1, 17, 104);
|
MuszĂŞ to poprawiĂŚ. Czyli powinno wyglÂądaĂŚ tak, ale jeszcze nie docelowo:
Kod: | INSERT INTO `jos_content` (id, title, introtext, state, sectionid, catid, created) VALUES ('', 'tytuÂł', 'tekst wprowadzajacy', 'publikacja - niechciana', 'id sekcji - niechciane', ID kategorii - tutaj 1, 2007-06-07 00:00:00);
|
MaÂła legenda:
id - to jest ID pozycji w jos_content, czyli id artykuÂłu. Nie moÂże byĂŚ puste. ( obowiÂązkowo! )
title - tytuÂł artykuÂłu. ( obowiÂązkowo! )
introtext - Tekst wprowadzaj¹cy. Nie jest konieczny. W miejscu artyku³u pojawi siê tylko odnoœnik " Czytaj ca³oœÌ..." o ile nastêpne pole, którego nie uj¹³eœ w swoim wykazie jest zape³nione.
fulltext - Tekst z drugiego pola edytora. TeÂż moÂże byĂŚ pusty, o ile okreÂślone zostaÂły pola powyÂżej introtext.
state - Opublikowany lub nie. Mo¿na tutaj wpisaÌ wartoœÌ 1,0 lub -1. 1 oznacza ¿e artyku³ jest opublikowany i dotyczy wszystkich artyku³ów. 0 ¿e jest nie opublikowany i ¿e jest to artyku³ statyczny. -1 oznacza, ¿e jest to artyku³ zwyk³y, nie opublikowany. ( obowi¹zkowo! )
sectionid - ID sekcji. Ty Ÿle policzy³eœ iloœÌ pól do zaimportowania, bo ich iloœÌ musi byÌ zgodna z z liczb¹ pól do wpisania do bazy. Czyli lewa czêœÌ importowana musi zgadzaÌ siê z praw¹ czêœci¹ wpisywan¹ do bazy. IloœÌ pól musi byÌ zgodna. Tutaj jako ID sekcji masz wartoœÌ 1. ( obowi¹zkowo! )
catid - ID kategorii. Musi byĂŚ podana, jako Âże artykuÂł musi byĂŚ przypisany do kategorii. JeÂśli wpiszesz 0 oznaczysz go jako artykuÂł statyczny, i nie bĂŞdziesz mĂłgÂł wypeÂłniĂŚ pola fulltext tylko pole introtext. Ty w swoim przykÂładzie nadajesz kategorii ID 17. ( obowiÂązkowo! )
created - Data utworzenia artyku³u. Ty masz wartoœÌ NOW(), a to mo¿e nie zadzia³aÌ. Wpisz normalnie datê, czyli np: 2006-06-07 00:00:00.
 MoÂżesz wpisaĂŚ zapytanie do bazy SQL, lub poprawiĂŚ zrzut bazy z ktĂłrej chcesz zrobiĂŚ import np. w ten sposĂłb:
PrzykÂład tylko jednego artykuÂłu. NastĂŞpne z polami z odpowiednimi wartoÂściami dodajesz po przecinku i po ENTERZE:
Kod: |
INSERT INTO `jos_content` (`id`, `title`, `title_alias`, `introtext`, `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`) VALUES (Nowe ID pozycji np: 200, 'TytuÂł', 'SkrĂłcony tytuÂł', 'Tekst wprowadzajÂący', 'PeÂłny tekast', 0, Nowa sekcja np 100, 0, Nowa kategoria np 100, 'Czas utworzenia np: 2007-08-03 00:00:00', Twoje ID:62, 'Autor - TwĂłj Nick. np: Aha44', 'Czas modyfikacji np: 2007-08-17 22:29:12', ID autora modyfikacji np Twoje: 62, 0, '0000-00-00 00:00:00', 'Czas rozpoczĂŞcia publikacji np : 2006-08-03 01:00:00', 'Czas zakoĂączenia np: 0000-00-00 00:00:00', 'Tutaj obrazek mosiimage lub puste pole, parametry np: obrazek.gif|left|TytuÂł obrazka|0||bottom||', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=
0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=0\nauthor=1\ncreateda
te=1\nmodifydate=0\npdf=1\nprint=0\nemail=1\nkeyref=\ndocbook_type=', Wersja np. 1, 0, KolejnoœÌ wpisz np: -9999, '', '', 0, Ods³ony - wpisz 0);
|
 Lub tak:
Kod: |
INSERT INTO `jos_content` VALUES (Nowe ID pozycji np: 200, 'TytuÂł', 'SkrĂłcony tytuÂł', 'Tekst wprowadzajÂący', 'PeÂłny tekast', 0, Nowa sekcja np 100, 0, Nowa kategoria np 100, 'Czas utworzenia np: 2007-08-03 00:00:00', Twoje ID:62, 'Autor - TwĂłj Nick. np: Aha44', 'Czas modyfikacji np: 2007-08-17 22:29:12', ID autora modyfikacji np Twoje: 62, 0, '0000-00-00 00:00:00', 'Czas rozpoczĂŞcia publikacji np : 2006-08-03 01:00:00', 'Czas zakoĂączenia np: 0000-00-00 00:00:00', 'Tutaj obrazek mosiimage lub puste pole, parametry np: obrazek.gif|left|TytuÂł obrazka|0||bottom||', '', 'pageclass_sfx=\nback_button=\nitem_title=1\nlink_titles=\nintrotext=1\nsection=
0\nsection_link=0\ncategory=0\ncategory_link=0\nrating=0\nauthor=1\ncreateda
te=1\nmodifydate=0\npdf=1\nprint=0\nemail=1\nkeyref=\ndocbook_type=', Wersja np. 1, 0, KolejnoœÌ wpisz np: -9999, '', '', 0, Ods³ony - wpisz 0);
|
aha44 napisaÂł:
w pierwszej czĂŞÂści wiadomo sÂą nazwy pĂłl, w drugiej importowany tekst. Mnie chcodzi o coÂś takiego - jakiego okreÂślenia uÂżyĂŚ w pierwszej czĂŞÂści, miĂŞdzy introtekst a state, by nie zaimportowaÂło mi tekstu ktĂłry oznaczyÂłem jako "kolumna niechciana 1 i 2"
 Reasumuj¹c. To co jest niezbêdne musi byÌ podane, reszta oznaczona lub opisana jako niekonieczna nie musi byÌ podana. Wystarczy wpisaÌ '', czyli dwa apostrofy. To tyle. Wiem ¿e masz du¿y problem, ale czy koniecznie musisz to wprowadzaÌ?. Jeœli tak, to po prostu zmodyfikuj plik SQL zrzucony ze starej bazy w sposób opisany przeze mnie. Tylko pamiêtaj, ¿e ID pozycji musi byÌ wiêksze od najwy¿szego ID artyku³u na Twojej stronie. Bo inaczej baza zg³osi Ci b³¹d. To narka. Jokris. Pozdrawiam.
|
|
|
Temat został zablokowany. |
aha44 (Użytkownik)
Prawa Ręka Admina
Posty: 166
|
Odp:Import do SQLa z pominieciem kolumn 2007/10/23 01:08 |
Oklaski: 16 |
Dziêki za info,napracowa³eœ siê, ale ja to doskonale wiem, tylko mam baze ju¿ gotow¹ z innego zupe³nie systemu i chce j¹ zaimplementowaÌ na swoje potrzeby czyli do joomli. Ona ma dwie akurat kolumny których nie mam pod co zaimportowaÌ do tabeli jos_content bo nie ma odpowiednich pól w tej tabeli. Wyci¹Ì te dwa pola (kolumny) z pliku sql nie da rady, bo polec¹ mi ogonki jak zaczne ten plik rozk³adac na czêœci pierwsze, dodatkowo on ma prawie 300 tyœ linijek i jest ciê¿ko edytowalny. Gdyby dane w tych kolumnach by³y jednakowe to bym je w pitpadzie zast¹pi³ jakimœ ci¹giem znaków i by³oby ok, ale to s¹ zmienne dane. Z mniejszych plików baz danych takie coœ (kolumny) wycina³em w accesie, a potem robi³em spowrotem export do pliku txt i by³o ok. Ale za ka¿dym prawie razem coœ siê rypa³o z ogonkami
|
|
|
Temat został zablokowany. |
|