programing

MySQL에서 특별한 칼럼은 여러 기둥을 추가하라.

kingscode 2022. 10. 2. 19:06
반응형

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

나는 이 오류를 얻는데,

당신은, 즉 그들이 올바른 구문에 당신의 MySQL서버 버전'에는 사용할 해당하는 매뉴얼 확인을 SQL구문에 오류가 있다.lastname'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

여러 열 추가하기를 원한다면 너는 열에 대한 '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 `status` INT(10) UNSIGNED NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `lastname`,
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`;

AFTER 스테이트먼트를 합리화하면서 원하는 순서로 정렬합니다.

ALTER TABLE `users` ADD COLUMN
`COLUMN NAME` DATATYPE(SIZE) AFTER `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';

얼터 테이블listing더하다countINT(5), 추가logVARCHAR(200), 추가statusVARCHAR(20) 상태 후

그것은 좋은 결과를 가져올 것이다.

MySQL 코드를 사용하여 많은 필드를 빠르게 추가해야 하는 문제에 직면했을 때 도움이 되기를 바라는 경우에 대비하여 이 코드를 실행했습니다. 당신이 너무 바쁘다면 어떤 온라인 php 컴파일러에서도 이 코드를 실행할 수 있습니다.

$fields = array(

        'col_one' ,
        'col_two' ,
        'col_three'

    );

    $startF = 'after_col';
    $table = 'table_name';

    $output = 'ALTER TABLE ' .$table.'<br>';
    for($i=0 ; $i<count($fields) ; $i++){
        if($i==0){
            $output.= 'ADD COLUMN '.$fields[$i].' VARCHAR(15) AFTER '.$startF.',' . '<br>';

        }else{
            $output.= 'ADD COLUMN '.$fields[$i].' VARCHAR(15) AFTER '.$fields[$i-1].',' . '<br>';

        }
    }

// 배열이 없는 추가 필드

    $output.= 'ADD COLUMN col_four VARCHAR(255) AFTER any_col_u_want,  '. '<br>';
    $output.= 'ADD COLUMN col_five VARCHAR(255) AFTER col_four,  '. '<br>';
    $output.= 'ADD COLUMN col_six VARCHAR(255) AFTER col_five'. '<br>';



    echo $output;

디폴트값 0으로 동작한 솔루션은 다음과 같습니다.

ALTER TABLE reservations ADD COLUMN isGuest BIT DEFAULT 0

언급URL : https://stackoverflow.com/questions/17541312/adding-multiple-columns-after-a-specific-column-in-mysql

반응형