[mysql] MySQL에서 특정 열 이후에 여러 열 추가

나는 열을 테이블에 여러 열을 추가하지만 위치 할 필요가 라고하는 열 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 구문에 오류가 있습니다. lastname7 번째 줄에서 ‘) AFTER ‘ 근처에서 사용할 올바른 구문은 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오.

이와 같은 쿼리에서 AFTER를 어떻게 사용합니까?



답변

이 시도

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

여러 열을 추가하려면 열마다 ‘ADD’명령을 사용해야합니다. 이에 대한 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 AFTER lastname,
    ADD COLUMN status INT(10) UNSIGNED NOT NULL AFTER lastname,
    ADD COLUMN count SMALLINT(6) NOT NULL AFTER lastname


답변

을 사용하여 쉼표로 여러 열 이름을 언급 할 수 없습니다 ADD COLUMN. ADD COLUMN새 열을 정의 할 때마다 언급해야합니다 .


답변

이것은 맞습니다 :

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`;


답변

ALTER TABLE `users` ADD COLUMN
`COLUMN NAME` DATATYPE(SIZE) AFTER `EXISTING COLUMN NAME`;

이 작업을 수행하면 나에게 잘 작동합니다.


답변

한 가지 가능성은 테이블의 열 순서를 바꾸지 않고 열을 추가하여 간단히 수정하는 것입니다. 그런 다음 순서가 정말로 중요하다고 가정하고 원하는 순서대로 열이있는보기를 작성하십시오. 원하는 순서대로보기를 쉽게 변경할 수 있습니다. 프로그래밍 방식의 응용 프로그램에서는 순서가 중요하다고 생각할 수 없으므로 중요한 수동 쿼리에는보기가 충분해야합니다.


답변

ALTER TABLE listingADD countINT (5), ADD logVARCHAR (200), ADD statusVARCHAR (20) 후 통계 추가

좋은 결과를 줄 것입니다.