반응형
MySQL 테이블에 열의 복사본을 빠르게 추가합니다.
테이블에 DATTIME 컬럼을 빠르게 복제해서 새로운 이름을 붙여야 합니다.
제 테이블에 myResults라는 이름의 열이 있습니다. 제 테이블에 myDate 열과 데이터가 정확히 같은 newDate라는 새로운 열을 만들기 위해 쿼리가 필요합니다.
새 열을 만들고 모든 데이터를 복사하는 2단계 접근 방식보다 더 빠른 방법이 있습니까?(큰 테이블이고 가장 빠른 접근 방식을 찾고 있습니다)
명백한 해결책:
ALTER TABLE `myResults` ADD `newDate` DATETIME;
UPDATE `myResults` SET `newDate` = `myDate`;
UPDATE `table_name` SET `new_column` = `existing_column` WHERE `id`=`id`
유감스럽게도 분명한 해결책이 유일한 해결책입니다.
그러나 일반적으로 관계형 데이터베이스의 열을 복사해서는 안 됩니다.
기본값이 필요한 경우 기본값을 정적으로 선택하거나 함수 호출을 사용할 수 있습니다.
ALTER TABLE `myResults` ADD `newDate` DATETIME DEFAULT '2010-01-01';
아니면
ALTER TABLE `myResults` ADD `newDate` DATETIME DEFAULT current_timestamp;
워크로드에서 다른 열 데이터를 복제하는 새로운 날짜 시간 열을 요구하는 이유는 무엇입니까?끔찍한 연습처럼 들리는데요?당신이 이루고자 하는 것을 우리에게 말하는 것은 어떻습니까?데이터를 실제로 복제하지 않고 몇 가지 다른 방법으로 동일한 데이터로 두 번째 열을 끌 수 있습니다.
SELECT date1 AS date_old, date1 AS date_new FROM table;
-또는- 보기를 작성할 수 있습니다.
CREATE VIEW virtual_table AS
SELECT date1 AS date_old, date1 AS date_new FROM table
;
SELECT * FROM virtual_table;
언급URL : https://stackoverflow.com/questions/2185458/quickly-add-a-copy-of-a-column-to-a-mysql-table
반응형
'bestsource' 카테고리의 다른 글
웹 브라우저 제어 기능이 있는 Excel 사용자 지정 작업 창 - 키보드/초점 문제 (0) | 2023.10.31 |
---|---|
그래픽 드라이버 "헬로 월드" 예시? (0) | 2023.10.31 |
터미널에서 데이터베이스의 sql 파일 실행 (0) | 2023.10.31 |
줌라 - 500 - 오류가 발생했습니다.SQL 구문에 오류가 있습니다. MariaDB 서버 버전에 해당하는 설명서를 확인하십시오. (0) | 2023.10.31 |
처리되지 않은 예외가 발생했습니다. 정의되지 않은 '마이너스' 속성을 읽을 수 없습니다. (0) | 2023.10.31 |