programing

같은 테이블의 한 열에서 다른 열로 값 복사

newsource 2022. 9. 18. 12:49

같은 테이블의 한 열에서 다른 열로 값 복사

한 열에서 다른 열로 복사 값을 만들려면 어떻게 해야 합니까?

다음과 같은 것이 있습니다.

Database name: list

-------------------
number | test
-------------------
123456 | somedata
123486 | somedata1
232344 | 34

갖고 싶다:

Database name: list

----------------
number | test
----------------
123456 | 123456
123486 | 123486
232344 | 232344

어떤 MySQL 쿼리를 가져야 합니까?

해당 코드에 대한 간단한 답변은 다음과 같습니다.

UPDATE `table` SET test=number

여기서table는 테이블명으로, 키워드 이스케이프를 위한 MySQL 표기법이기 때문에 ('백틱'이라고도 함)으로 둘러싸여 있습니다.TABLE키워드가 됩니다).


주의하세요!

이것은 열에 있는 모든 것을 지우는 매우 위험한 쿼리입니다.test테이블의 모든 열에서 그것을 로 대체한다.number(가격에 관계없이)

사용하는 것이 일반적입니다.WHERE특정 행 집합으로만 쿼리를 제한하려면 다음과 같이 입력합니다.

UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
UPDATE `table_name` SET `test` = `number`

프로세스에서 수학적 변경을 수행하거나 MySQL 함수를 사용하여 값을 수정할 수도 있습니다.

이것을 시험해 보세요.

update `list`
set `test` = `number`

주의: 업데이트 열의 순서가 중요합니다.

Good: 원하는 것은 기존 상태 값을 PrevStatus에 저장합니다.

UPDATE Collections SET  PrevStatus=Status, Status=44 WHERE ID=1487496;

BAD: Status와 PrevStatus가 모두 44가 됩니다.

UPDATE Collections SET  Status=44, PrevStatus=Status WHERE ID=1487496;

다음을 수행해 보십시오.

UPDATE `list` SET `test` = `number` 

한다면list테이블명과test그리고.numberare 컬럼

"number"에서 모든 값의 복사본을 생성하여 "test"에 붙여넣습니다.

팔로잉은 나에게 효과가 있었다.

  1. 쿼리 에디터 응용 프로그램에서 세이프 모드를 사용하고 있지 않은지 확인합니다.사용할 경우 비활성화합니다!
  2. 그런 다음 다음 sql 명령을 실행합니다.

표의 경우, 'test_update_module', 소스 값 열 col2, 대상 값 열 col1 및 조건 열 col3: -

UPDATE  test_update_cmd SET col1=col2 WHERE col3='value';

행운을 빕니다.

당신은 절차로도 할 수 있습니다. 그래서 나는 이것에 대한 절차가 있습니다.

 DELIMITER $$
 CREATE PROCEDURE copyTo()
       BEGIN
               DECLARE x  INT;
            DECLARE str varchar(45);
              SET x = 1;
            set str = '';
              WHILE x < 5 DO
                set  str = (select source_col from emp where id=x);
            update emp set target_col =str where id=x;      
            SET  x = x + 1;
                END WHILE;

       END$$
   DELIMITER ;

언급URL : https://stackoverflow.com/questions/9001939/copy-values-from-one-column-to-another-in-the-same-table