[SQL] SELECT와 INSERT
SQLSELECT와 INSERT
나는 삽입이 선택을 사용하는 쿼리를 가지고 :
INSERT INTO courses (name, location, gid)
SELECT name, location, gid
FROM courses
WHERE cid = $cid
그것은 단지 쿼리에 다른 뭔가에 삽입은 "이름, 위치"및 세트 GID를 선택 할 수 있습니까?
해결법
-
==============================
1.예, 절대적으로, 그러나 당신의 구문을 확인합니다.
예, 절대적으로, 그러나 당신의 구문을 확인합니다.
INSERT INTO courses (name, location, gid) SELECT name, location, 1 FROM courses WHERE cid = 2
당신은 물론, 단지 하나, 그 자리에 GID와 같은 유형의 상수를 넣을 수 있습니다. 그리고, 난 그냥 CID 값을했다.
-
==============================
2.네, 그렇습니다. 당신은 쓸 수 있습니다 :
네, 그렇습니다. 당신은 쓸 수 있습니다 :
INSERT INTO courses (name, location, gid) SELECT name, location, 'whatever you want' FROM courses WHERE cid = $ci
또는 다른에서 값이 선택의 조인 얻을 수 있습니다 ...
-
==============================
3.올바른 구문 : 선택 철자가 틀렸다
올바른 구문 : 선택 철자가 틀렸다
INSERT INTO courses (name, location, gid) SELECT name, location, 'whatever you want' FROM courses WHERE cid = $ci
-
==============================
4.물론, 당신은 GID에 사용할 무엇을 원하는가? 정적 값, PHP var에 ...
물론, 당신은 GID에 사용할 무엇을 원하는가? 정적 값, PHP var에 ...
1234 정적 값이 같을 수 있습니다 :
INSERT INTO courses (name, location, gid) SELECT name, location, 1234 FROM courses WHERE cid = $cid
-
==============================
5.나는 올바른 구문을 참조하십시오 INSERT 문이 잘못 생각 : http://dev.mysql.com/doc/refman/5.1/en/insert.html
나는 올바른 구문을 참조하십시오 INSERT 문이 잘못 생각 : http://dev.mysql.com/doc/refman/5.1/en/insert.html
편집하다: 앤드류로 이미 지적 ...
-
==============================
6.물론 당신은 할 수.
물론 당신은 할 수.
다른 테이블에 INSERT INTO SELECT 문을 복사 한 테이블에서 데이터를 삽입하여 소스 및 대상 테이블의 데이터 유형과 일치가 필요합니다 한가지는 그러나 주목해야한다. 주어진 테이블 컬럼의 데이터 유형이 일치하지 않는 경우, MySQL 서버는 SQL 오류 (1366)가 발생합니다 (즉 INT, 또는 TINYINT intoINT에 VARCHAR를 삽입하려고).
그러니 조심해.
다음은 명령의 구문은 다음과 같습니다
INSERT INTO table2 (column1, column2, column3) SELECT column1, column2, column3 FROM table1 WHERE condition;
사이드 노트 : 예를 들어, SELECT에 캐스팅을 사용하여 우회하기 다른 열 유형 삽입 문제에 대한 방법이 있습니다 :
SELECT CAST('qwerty' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;
테이블이 (제대로 처리하지 않을 경우 잠재적 데이터 손실을 초래할 수) 동일한 테이블 컬럼에 다른 문자 집합이있는 경우이 변환 (CAST ()는 CONVERT의 동의어입니다 ()) 매우 유용합니다.
-
==============================
7.쿼리에 대한 올바른 구문은 다음과 같습니다
쿼리에 대한 올바른 구문은 다음과 같습니다
INSERT INTO courses (name, location, gid) SELECT (name, location, gid) FROM courses WHERE cid = $cid
from https://stackoverflow.com/questions/5391344/insert-with-select by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] VARCHAR에 대한 장점은 (500)를 통해 VARCHAR (8000)가있다? (0) | 2020.03.17 |
---|---|
[SQL] 재귀는 자체 조인 할 수있는 가장 간단한 방법은? (0) | 2020.03.17 |
[SQL] 어떻게 비슷한 결과 및 종류의 유사성을 찾는 방법은? (0) | 2020.03.17 |
[SQL] 는 SQL에서 위해 물질을 결합 하는가? (0) | 2020.03.17 |
[SQL] SQL 서버 - INSERT 후 반환 값 (0) | 2020.03.17 |