Запитання з тегом «alter-table»

Оператор SQL, який використовується для зміни існуючого об'єкта таблиці.

3
Змініть всі таблиці в базі даних за допомогою однієї команди
Чи є одно- або однорядкова команда для зміни всіх таблиць у базі даних. Я хотів би видати цю команду в кожній таблиці в базі даних: ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8; Моя мета - змінити діаграму з latin1 до utf8 до всіх таблиць. ОНОВЛЕННЯ: RDBMS - це MySQL

2
Найшвидший спосіб змінити тип даних із індексованим ключем таблиці 600 ГБ з INT на BIGINT
Мені потрібно змінити тип даних з INT на BIGINT у таблиці MySQL 600 Гб. У колонці є унікальний індекс. Я міг би бути непогашеним з непідписаним INT, але я припускаю, що зміна цього або BIGINT буде дуже сильною. Двигун таблиці - InnoDB. Що було б простіше: АЛЬТЕР ТАБЛ Копіювання структури …

4
Швидкий змінний стовпчик NVARCHAR (4000) до NVARCHAR (260)
У мене проблема з продуктивністю з дуже великими грантами пам’яті для обробки цієї таблиці з парою NVARCHAR(4000)стовпців. Справа в тому, що ці стовпці ніколи не перевищують NVARCHAR(260). Використання ALTER TABLE [table] ALTER COLUMN [col] NVARCHAR(260) NULL призводить до того, що SQL Server переписав всю таблицю (і використовував 2x розмір таблиці …

3
Збільшити стовпчик зміни швидкості на великій таблиці до NON NULL
Нещодавно я додав бітовий стовпець, що підтримує NULL, до таблиці, що має близько 500 мільйонів рядків. У стовпці немає за замовчуванням, проте всі вставки вказують значення 0 або 1, і я запустив одноразову процедуру, щоб призначити 0 або 1 всім існуючим рядкам (оновлення рядків невеликими партіями). Кожен рядок повинен мати …

4
Видалення обмеження (індексу) на стовпчик
Як я можу змінити тип таблиці, на якій є індекс? Я спробував зробити стовпчик «alter» у порожній таблиці, щоб змінити тип від дати дати до varchar (15), і я отримав помилки, кажучи, що він має залежності від стовпця (який виявився індексами). Мені вдалося легко обійти цю проблему локально, клацнувши правою …

5
MySQL - найшвидший спосіб змінити таблицю для InnoDB
У мене є таблиця InnoDB, яку я хочу змінити. У таблиці розміщено ~ 80М рядків і закрийте кілька індексів. Я хочу змінити назву одного з стовпців і додати ще кілька індексів. Який найшвидший спосіб це зробити (якщо припустити, що я можу зазнати навіть простоїв - сервер є невідомим рабом)? Це …

2
Чи можна перейменувати значення в стовпці MySQL ENUM в одному запиті?
Припустимо, у мене є таблиця баз даних з ENUM('value_one','value_two'). Я хочу змінити це на ENUM('First value','Second value'). Я зараз роблю це так: 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 …

2
Швидко змініть стовпчик NULL на NOT NULL
У мене є таблиця з мільйонами рядків і стовпець, який дозволяє значення NULL. Однак наразі жодна рядок не має значення NULL для цього стовпця (я можу підтвердити це досить швидко за допомогою запиту). Однак коли я виконую команду ALTER TABLE MyTable ALTER COLUMN MyColumn BIGINT NOT NULL; запит приймається назавжди …

1
АЛЬТЕР ТАБЛИЦІ… ДРОПУВАТИ КОЛІНУ дійсно лише операція з метаданими?
Я знайшов декілька джерел, які заявляють НАЗАД ТАБЛИЦІ ... ДРОПОВИЙ КОЛІН - це лише метадані. Джерело Як це може бути? Чи не потрібно дані під час DROP COLUMN очищати з основних некластеризованих індексів та кластерних індексів / купи? Крім того, чому документи "Документи Microsoft" означають, що це операція, повністю зареєстрована? …

4
Як додати стовпчик із обмеженням іноземного ключа до таблиці, яка вже існує?
У мене є такі таблиці, CREATE TABLE users (id int PRIMARY KEY); -- already exists with data CREATE TABLE message (); Як я можу змінити messagesтаблицю таким чином, senderдо нього додається новий стовпчик, що називається де senderзнаходиться зовнішній ключ, на який посилається usersтаблиця Це не спрацювало # ALTER TABLE message …

1
Додавання нульового стовпчика до таблиці коштує більше 10 хвилин
У мене є проблеми додати новий стовпець на стіл. Я спробував запустити його кілька разів, але, пройшовши більше 10 хвилин, я вирішив скасувати запит через час блокування. ALTER TABLE mytable ADD mycolumn VARCHAR(50); Корисна інформація: Версія PostgreSQL: 9.1 Кількість рядків: ~ 250К Кількість стовпців: 38 Кількість нульових стовпців: 32 Кількість …

1
Що відбувається, коли ви змінюєте (зменшуєте) довжину стовпця?
Скажімо, у мене є два стовпці типу NUMBER(без точності та масштабу) та VARCHAR(300). Я бачив, що ці стовпці занадто великі для моїх даних, тому я хочу змінити їх на NUMBER(11)та VARCHAR(10). Отже, якщо я запускаю цей оператор SQL: ALTER TABLE FOO MODIFY(BAR NUMBER(10)); Чи зможу я це зробити в непустому …

2
Чи безпечно скасувати запит PostgreSQL ALTER TABLE, який очікує на замок?
Ми розпочали ALTER TABLEзапит години тому і лише нещодавно зрозуміли (через pg_stat_activity), що він чекає на замок. Ми виявили інший запит, який тримає замок на столі, який ми хочемо змінити, і не відпускає його. Наш запит - це "простий" запит (зміна типу даних стовпця), але він працює на масивній таблиці. …

2
Чи оптимізує PostgreSQL додавання стовпців із ненульовими ЗАМЕЧЕННЯми?
Додаючи NOT NULLстовпці зі DEFAULTзначенням - чи оптимізує PostgreSQL цю операцію? У випадку, якщо таблиця має n рядків, неоптимізований стовпець alter-table-add дасть n записів за замовчуванням - що, очевидно, може бути дуже болісним. З оптимізацією БД миттєво створить новий стовпець, збереже лише одну копію значення за замовчуванням, яке буде повернуто, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.