반응형
mysql-> tbl에 삽입 (다른 테이블에서 선택) 및 일부 기본값
이 질문에 이미 답변이 있습니다.
제목에서 알 수 있듯이 다른 테이블의 값과 일부 기본값을 선택하여 하나의 테이블에 삽입하려고합니다.
INSERT INTO def (catid, title, page, publish)
(SELECT catid, title from abc),'page','yes')
INSERT INTO def (catid, title, page, publish)
VALUES
((SELECT catid, title from abc),'page','yes'))
첫 번째 쿼리는 mysql 오류를 제공하고 두 번째 쿼리는 열 수가 일치하지 않음을 제공합니다.
내가 무엇을해야 하나?
다음을 수행하면됩니다.
INSERT INTO def (catid, title, page, publish)
SELECT catid, title, 'page','yes' from `abc`
모든 열을 삽입하려면
insert into def select * from abc;
여기서 def의 열 수는 abc와 같아야합니다.
열의 하위 집합을 삽입하려면
insert into def (col1,col2, col3 ) select scol1,scol2,scol3 from abc;
하드 코드 된 값을 삽입하려면
insert into def (col1, col2,col3) select 'hardcoded value',scol2, scol3 from abc;
소스 테이블의 하위 세트를 복사하려면 다음을 수행 할 수 있습니다.
INSERT INTO def (field_1, field_2, field3)
SELECT other_field_1, other_field_2, other_field_3 from `abc`
또는 원본 테이블의 모든 필드 를 대상 테이블 로 복사 하려면 더 간단하게 수행 할 수 있습니다.
INSERT INTO def
SELECT * from `abc`
INSERT INTO def (field_1, field_2, field3)
VALUES
('$field_1', (SELECT id_user from user_table where name = 'jhon'), '$field3')
MySQL을 사용하여 자동 증가 기본 키가있는 테이블에 삽입하고 NOW()
다음 과 같은 내장 MySQL 함수를 사용하려는 경우 다음 과 같이 할 수 있습니다.
INSERT INTO course_payment
SELECT NULL, order_id, payment_gateway, total_amt, charge_amt, refund_amt, NOW()
FROM orders ORDER BY order_id DESC LIMIT 10;
반응형
'program story' 카테고리의 다른 글
Google 크롬 확장 파일을 직접 수정하려면 어떻게합니까? (0) | 2020.08.26 |
---|---|
Spring MVC 테스트를 사용하여 멀티 파트 POST 요청 단위 테스트 (0) | 2020.08.26 |
SQLite 문자열에 다른 문자열 쿼리가 포함됨 (0) | 2020.08.26 |
Javascript에서 동적으로 이름이 지정된 메서드를 어떻게 호출합니까? (0) | 2020.08.26 |
MySql-문자열 부분을 업데이트하는 방법? (0) | 2020.08.26 |