Czy istnieje jedno- lub jedno wierszowe polecenie do modyfikacji wszystkich tabel w bazie danych. Chciałbym wydać to polecenie w każdej tabeli w bazie danych: ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8; Moim celem jest zmodyfikowanie zestawu znaków z latin1 na utf8 do wszystkich tabel. AKTUALIZACJA: RDBMS to MySQL
Muszę zmienić typ danych z INT na BIGINT w tabeli MySQL o pojemności 600 GB. Kolumna ma unikalny indeks. Mogę być dobry z niepodpisaną INT, ale zakładam, że przejście na to lub BIGINT będzie prawie takim samym bólem. Silnik stołu to InnoDB. Co byłoby łatwiejsze: ZMIEŃ TABELĘ Kopiowanie struktury i …
Mam problem z wydajnością przy bardzo dużych przydziałach pamięci obsługujących tę tabelę z kilkoma NVARCHAR(4000)kolumnami. Chodzi o to, że te kolumny nigdy nie są większe niż NVARCHAR(260). Za pomocą ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL powoduje, że SQL Server przepisuje całą tabelę (i używa 2x rozmiaru tabeli w …
Niedawno dodałem kolumnę bitową obsługującą NULL do tabeli, która ma prawie 500 milionów wierszy. W kolumnie nie ma wartości domyślnej, jednak wszystkie wstawki określają wartość 0 lub 1, a ja uruchomiłem jednorazową procedurę, aby przypisać 0 lub 1 do wszystkich istniejących wierszy (aktualizując wiersze małymi partiami). Każdy wiersz powinien mieć …
Jak mogę zmodyfikować typ w tabeli z indeksem? Próbowałem zrobić kolumnę alter na pustej tabeli, aby zmodyfikować typ od daty do varchar (15) i dostałem błędy mówiące, że ma zależności od kolumny (która okazała się być indeksami). Byłem w stanie łatwo obejść ten problem lokalnie, klikając prawym przyciskiem myszy indeks …
Mam tabelę InnoDB, którą chcę zmienić. Tabela ma ~ 80 milionów wierszy i zamknęła kilka indeksów. Chcę zmienić nazwę jednej z kolumn i dodać jeszcze kilka indeksów. Jaki jest najszybszy sposób na zrobienie tego (zakładając, że mogę cierpieć nawet z powodu przestojów - serwer jest nieużywanym urządzeniem podrzędnym)? Czy „proste” …
Załóżmy, że mam tabelę bazy danych z ENUM('value_one','value_two'). Chcę to zmienić na ENUM('First value','Second value'). Obecnie robię to w następujący sposób: ALTER TABLE `table` MODIFY `column` ENUM('value_one','value_two','First value','Second value'); UPDATE `table` SET `column`='First Value' WHERE `column`='value_one'; UPDATE `table` SET `column`='Second Value' WHERE `column`='value_two'; ALTER TABLE `table` MODIFY `column` ENUM('First value','Second …
Mam tabelę z milionami wierszy i kolumnę, która dopuszcza wartości NULL. Jednak żaden wiersz nie ma obecnie wartości NULL dla tej kolumny (mogę to dość szybko zweryfikować za pomocą zapytania). Jednak gdy wykonam polecenie ALTER TABLE MyTable ALTER COLUMN MyColumn BIGINT NOT NULL; zapytanie trwa wiecznie relatywnie rzecz biorąc. W …
Znalazłem kilka źródeł, które informują, że ALTER TABLE ... DROP COLUMN jest operacją tylko dla metadanych. Źródło Jak to może być? Czy dane podczas DROP COLUMN nie muszą być usuwane z leżących u ich podstaw indeksów nieklastrowych i indeksów klastrowych / sterty? Ponadto, dlaczego Dokumenty Microsoft sugerują, że jest to …
Mam następujące tabele, CREATE TABLE users (id int PRIMARY KEY); -- already exists with data CREATE TABLE message (); Jak zmienić messagestabelę tak, aby senderdodawana jest do niej nowa kolumna o nazwie gdzie senderjest klucz obcy odnoszący się do userstabeli To nie zadziałało # ALTER TABLE message ADD FOREIGN KEY …
Mam problemy z dodaniem nowej kolumny do tabeli. Próbowałem uruchomić go kilka razy, ale po ponad 10 minutach postanowiłem anulować zapytanie z powodu czasu blokady. ALTER TABLE mytable ADD mycolumn VARCHAR(50); Przydatna informacja: Wersja PostgreSQL: 9.1 Liczba rzędów: ~ 250 K. Liczba kolumn: 38 Liczba zerowalnych kolumn: 32 Liczba ograniczeń: …
Powiedzmy, że mam dwie kolumny typu NUMBER(bez precyzji i skali) i VARCHAR(300). Widziałem, że te kolumny są zbyt duże dla moich danych, więc chcę je zmodyfikować do NUMBER(11)i VARCHAR(10). Więc jeśli uruchomię tę instrukcję SQL: ALTER TABLE FOO MODIFY(BAR NUMBER(10)); Czy będę mógł to zrobić w niepustej kolumnie? Jeśli tak, …
ALTER TABLEZapytanie rozpoczęliśmy kilka godzin temu i dopiero niedawno zdaliśmy sobie sprawę (za pośrednictwem pg_stat_activity), że czeka ono na zamek. Odkryliśmy inne zapytanie, które trzyma blokadę tabeli, którą chcemy zmienić, i nie pozwalając jej odejść. Nasze zapytanie jest „prostym” zapytaniem (zmiana typu danych kolumny), ale działa na ogromnej tabeli. Zamiast …
Podczas dodawania NOT NULLkolumn z DEFAULTwartością - czy PostgreSQL optymalizuje tę operację? W przypadku, gdy tabela ma n wierszy, niezoptymalizowana kolumna alter-table-add-kolumna dałaby n zapisów wartości domyślnej - co oczywiście może być bardzo bolesne. Dzięki optymalizacji DB utworzy natychmiast nową kolumnę, zapisze tylko jedną kopię wartości domyślnej, która zostanie zwrócona, …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.