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. |
|