Вопросы с тегом «alter-table»

Оператор SQL, используемый для изменения существующего табличного объекта.

3
Изменить все таблицы в базе данных с помощью одной команды
Существует ли однострочная или однострочная команда для изменения всех таблиц в базе данных. Я хотел бы выполнить эту команду в каждой таблице в базе данных: ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8; Моя цель - изменить кодировку от latin1 до utf8 для всех таблиц. ОБНОВЛЕНИЕ: СУБД 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 переписывает всю таблицу (и использует размер таблицы …

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

4
Отбрасывание ограничения (индекса) на столбце
Как я могу изменить тип таблицы с индексом? Я попытался сделать столбец alter для пустой таблицы, чтобы изменить тип с даты на varchar (15), и получил сообщения о том, что у него есть зависимости от столбца (который оказался индексами). Я смог легко обойти это локально, щелкнув правой кнопкой мыши по …

5
MySQL - самый быстрый способ ALTER TABLE для 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` …

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

1
Является ли ALTER TABLE… DROP COLUMN действительно операцией только с метаданными?
Я нашел несколько источников, которые утверждают, что ALTER TABLE ... DROP COLUMN - это операция только с метаданными. Источник Как это может быть? Не нужно ли удалять данные во время DROP COLUMN из базовых некластеризованных индексов и кластеризованного индекса / кучи? Кроме того, почему Microsoft Docs подразумевает, что это полностью …

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

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-column даст n записей значения по умолчанию, что, очевидно, может быть очень болезненным. При оптимизации БД мгновенно создаст новый столбец, сохранит только одну копию значения по умолчанию, которое будет возвращено, если …

3
SQL устанавливает допустимые значения для столбца
Я хочу сделать ALTER TABLEвыражение, которое добавляет новый столбец и устанавливает значение по умолчанию, а также определяет допустимые значения для этого столбца. Это текстовый столбец, и допустимыми должны быть только «значение1», «значение2» и «значение3». По умолчанию должно быть «значение1» Согласно следующим синтаксическим диаграммам: Я добираюсь до этой точки ALTER TABLE …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.