alter table добавить несколько столбцов после column1
мне нужно добавить несколько столбцов в таблицу, но расположить столбцы после столбца с именем lastname
.
Я попытался это:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Я получаю эту ошибку:
у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом ') после
lastname
' в строке 7
как я могу использовать AFTER в таком запросе?
7 ответов
попробуй такое
ALTER TABLE users
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
Регистрация синтаксис
если вы хотите добавить один столбец после определенного поля, то запрос mysql:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
если вы хотите добавить несколько столбцов, то вам нужно использовать команду "добавить" каждый раз для столбца. Запрос mysql выглядит следующим образом:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL,
ADD COLUMN log VARCHAR(12) NOT NULL,
ADD COLUMN status INT(10) UNSIGNED NOT NULL
AFTER lastname
отметить : во втором методе последний ADD COLUMN
колонки на самом деле должен быть первым столбцом, который вы хотите добавить в таблицу.
e.g: Если вы хотите добавить count
, log
, status
после lastname
, тогда синтаксис будет:
ALTER TABLE users
ADD COLUMN log VARCHAR(12) NOT NULL,
ADD COLUMN status INT(10) UNSIGNED NOT NULL,
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
это правильно:
ALTER TABLE `users`
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
вы не можете упомянуть несколько имен столбцов с запятыми, используя ADD COLUMN
. Вы должны указать ADD COLUMN
каждый раз, когда вы определяете новый столбец.
одной из возможностей было бы не беспокоиться о переупорядочении столбцов в таблице и просто изменить его, добавив столбцы. Затем создайте представление со столбцами в нужном порядке-при условии, что порядок действительно важен. Вид можно легко изменить, чтобы отразить любой заказ, который вы хотите. Поскольку я не могу представить, что порядок будет важен для программных приложений, представления должно быть достаточно для тех ручных запросов, где это может быть важно.
ALTER TABLE users
ДОБАВИТЬ СТОЛБЕЦ
COLUMN NAME
ТИП ДАННЫХ (РАЗМЕР) ПОСЛЕ EXISTING COLUMN NAME
;
вы можете сделать это с этим, работает нормально для меня.
это отлично работает для меня:
ALTER TABLE 'users'
ADD COLUMN 'count' SMALLINT(6) NOT NULL AFTER 'lastname',
ADD COLUMN 'log' VARCHAR(12) NOT NULL AFTER 'count',
ADD COLUMN 'status' INT(10) UNSIGNED NOT NULL AFTER 'log';