изменить таблицу добавить несколько столбцов после 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
колонки на самом деле должен быть первым столбцом, который вы хотите добавить в таблицу.например: если вы хотите добавить
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
каждый раз, когда вы определяете новый столбец.
одной из возможностей было бы не беспокоиться о переупорядочении столбцов в таблице и просто изменить его, добавив столбцы. Затем создайте представление, которое имеет столбцы в нужном порядке-предполагая, что порядок действительно важен. Вид может быть легко изменен, чтобы отразить любой порядок, который вы хотите. Поскольку я не могу представить, что порядок будет важен для программных приложений, представление должно быть достаточным для тех ручных запросов, где это может быть важно.