![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 0 Dołączył: 14.04.2004 Skąd: Słupsk, Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
sprawa troche zawila...
mam CMS ktory koordynuje kilka serwerow... no i mam tam autoaktualizacje... dzialalo to tak, ze serwer sobie sprawdzal czy struktury kolumn sa identyczne, jak nie to je odpowiednio przebudowywal zachowujac dane wszystko dzialalo cacy, az nie dodalem klucza UNIQUE na wiecej niz jedna kolumne... wtedy SHOW COLUMNS zwraca MUL, a nie UNI i niestety nie informuje, na ktore kolumny ten unique jeszcze jest nalozony... oczywiscie jest 1 unique na kilku kolumnach... oczywiscie chcialbym rozwiazac problem przyszlosciowo, czyli napisac rozwiazanie dzialajace rowniez jak bedzie wiecej niz 1 multiple unique w tabeli... jakies pomysly? w google rozwiazania polowiczne... nigdzie nie znalazlem niczego sensownego... cos show index where podpowiada, ale nadal nie pokazuje, ktore kolumny z ktorymi sa w unique... Na pewno jest to mozliwe, bo w PhpMyAdmin wszystkie klucze sa listowane poprawnie, jednak nie jest wyswietlana komenda, jak to uzyskac... pozdrawiam, k. Ten post edytował phoenix84 20.07.2010, 19:35:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Rzuć okiem na tabelę[1] `information_schema`.`KEY_COLUMN_USAGE`
[1] Widok tak naprawdę Ten post edytował Mchl 20.07.2010, 19:41:00 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 0 Dołączył: 14.04.2004 Skąd: Słupsk, Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
sorki, ale nie kumam tego co napisales... do czego to przyczepic? (IMG:style_emoticons/default/smile.gif)
ale znalazlem inny punkt zaczepienia show index tabela zwraca tabele, ktora ma kolumne "Seq_in_index" i to jest chyba to czego szukam, bo kazdy index ma swoja nazwe... i wsrod tej nazwy ma znaczenie ta sekwencja... i jak to obrobie to powinno dzialac... jednak z ciekawosci, chce wiedziec jaka byla Twoja idea... moze jakis latwiejjszy pomysl (IMG:style_emoticons/default/smile.gif) EDIT: juz zakumalem... dla takich nie kumatych jak ja... information schema to dodatkowa baza danych dobudowana do kazdej bazy w mysql... (IMG:style_emoticons/default/smile.gif) oczywsicie masz racje... obie opcje dzialaja podobnie... jednak w mojej nie trzeba zmieniac bazy na ktorej sie pracuje... czasem to ma znaczenie... pozdro, k. Ten post edytował phoenix84 20.07.2010, 20:04:58 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Takie zapytanie
Kod SELECT CONSTRAINT_NAME, GROUP_CONCAT(COLUMN_NAME) AS COLUMN_NAME FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE CONSTRAINT_SCHEMA = 'twojaBaza' AND TABLE_NAME = 'twojaTabela' GROUP BY CONSTRAINT_NAME Da Ci listę kluczy w danej tabeli wraz z kolumnami wchodzącymi w ich skład. [edit] W mojej też nie trzeba zmieniać bazy. Po co mamy kropkę? (IMG:style_emoticons/default/tongue.gif) Ten post edytował Mchl 20.07.2010, 20:10:13 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 0 Dołączył: 14.04.2004 Skąd: Słupsk, Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Oczywiscie dziala fantastycznie!
pozdro, k. oczywiscie ide dalej... by uzyskac do tego typ klucza... zmodyfikowalem, jak nizej... ale w wersji PRIMARY dostaje "id,id,id,id..." oczywiscie to nie to co chcialem uzyskac, choc UNIQUE dzialaja bez problemu...
moze jakis pomysl, k. Ten post edytował phoenix84 20.07.2010, 22:17:58 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Kod GROUP_CONCAT(DISTINCT COLUMN_NAME )
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 218 Pomógł: 0 Dołączył: 14.04.2004 Skąd: Słupsk, Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
no i smiga!
dzieki! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:32 |