다음은 하나의 테이블에 삽입하고 다른 테이블의 특정 값을 삽입하는 쿼리입니다. 그러한 쿼리를 작성하는 적절한 방법이 무엇인지 알려주시기 바랍니다.이 쿼리의 문제점은 무엇입니까
Insert into c_table (name,number,class)
values ('1','2',select count(id) from thetable)
다음은 하나의 테이블에 삽입하고 다른 테이블의 특정 값을 삽입하는 쿼리입니다. 그러한 쿼리를 작성하는 적절한 방법이 무엇인지 알려주시기 바랍니다.이 쿼리의 문제점은 무엇입니까
Insert into c_table (name,number,class)
values ('1','2',select count(id) from thetable)
아주 가까이, 감사,하지만 괄호에 하위 쿼리를 둘러싸는 시도 :
insert into c_table (name,number,class)
values ('1','2',(select count(id) from thetable))
매우 가까이에 닫히는 것을 의미합니다. – zee
@NullSoulException 그가 언급 한 쿼리가 실제로 작동했습니다. 이 쿼리의 문제점은 무엇입니까? – user3027531
@ user3027531 두 개 이상의 행을 반환하는 하위 쿼리를 변경하자 마자 MySQL이 무엇을 말할 것입니까? 나는 그것이 카우보이 스타일의 그룹을 좋아한다고는하지만, 카우보이 스타일의 서브 쿼리가 마음에 들지는 모르겠다. –
을 대신 VALUES()
절의의 SELECT
구성 요소의 첫 번째 두 개의 열 정적 값으로 INSERT INTO ...SELECT
패턴을 사용합니다. SELECT
목록의 첫 번째 두 의사 열의 값은 항상 같지만 COUNT()
의 값은 thetable.
과 함께 동적으로 변경됩니다. 문에 필요한 경우 WHERE
절을 추가해야합니다.
INSERT INTO c_table (name, number, class)
SELECT
'1' AS name,
'2' AS number,
COUNT(id) AS class
FROM thetable
/* WHERE <conditions if necessary> */
SELECT를 INSERT와 함께 사용하는 예가 있습니까? 아니면 여기에 새 groud를 위반하고 있습니까? – Strawberry