[SQL] 열을 지정하지 않고 SQL INSERT. 무슨 일이야?
SQL열을 지정하지 않고 SQL INSERT. 무슨 일이야?
사랑하는 W3 스쿨을 통해보고되었고,이 페이지를 실제로 알게 뭔가 흥미를 발견했다. 난 당신이 값에 열을 지정하지 않고 삽입 명령을 호출 할 수 몰랐다. 예를 들어;
INSERT INTO table_name
VALUES (value1, value2, value3,...)
내 흐릿한 메모리에서 당기기, 나는 그들이 특정 순서에없는 것처럼이 치료 분야에 있다고 언급하는 SQL 교수를 기억하는 것 같다합니다 (RDB 측이 있지만,하지만이 보장되지 것).
내 질문은 값이있는 필드에 할당받을 서버 알고 어떻게하는지, 무엇입니까? 나는 자신이 테스트하는 것이지만, A는 순간에 액세스 할 수있는 모든 인 할 프로덕션 서버를 사용하지 않을거야 *.
이 기술 특정한 경우에, 나는 PostgreSQL의 작업입니다. 어떻게이 특정 구문도 유용하다?
해결법
-
==============================
1.귀하의 교수가 옳았다 - 명시 적으로 값을 명명하기 전에 열 이름을 지정해야합니다.
귀하의 교수가 옳았다 - 명시 적으로 값을 명명하기 전에 열 이름을 지정해야합니다.
이 경우 값은 그들이 테이블 정의에 나타나는 순서에 삽입됩니다하지만.
이 문제는 (그들이 널 (NULL) 인 경우에도) 순서가 변경 또는 열을 제거하거나 추가하는 경우, 다음 삽입 휴식 것입니다.
그 유용성의 관점에서가 아니라 생산 코드에서 그 정도. 당신이 경우있는 거 손은 모든 열 이름을 입력 저장이 수도 단지 도움이 후 빠른 삽입 코딩.
-
==============================
2.그들은 테이블 정의에있는 순서대로 필드에 삽입 얻을.
그들은 테이블 정의에있는 순서대로 필드에 삽입 얻을.
그래서 테이블은 = 값 2, C = VALUE3 B 필드 (A, B, C), A = 값 1을 가지고있는 경우.
귀하의 교수가 옳았다이 게으른 및 중단 우려가있다. 하지만 신속하고 더러운 게으른 삽입하는 데 유용합니다.
-
==============================
3.나는 여기에 "RTFM"를 넣어 저항 할 수 있습니다. INSERT의 장에서 발생하는 PostgreSQL의 매뉴얼 세부 정보 :
나는 여기에 "RTFM"를 넣어 저항 할 수 있습니다. INSERT의 장에서 발생하는 PostgreSQL의 매뉴얼 세부 정보 :
굵게 강조 광산.
-
==============================
4.열이 테이블에 나타나는 값은 단지 동일한 순서로 첨가된다. 당신이 당신이있는 거 작업 컬럼의 이름을 알고 있지만, 데이터 요구에 갈 모르는 곳은 상황에서 유용합니다. 그것은 물론 휴식의 것처럼 일반적으로이 작업을 수행 할 수있는 좋은 생각이 아니라면 열의 순서 변경이나 새로운 열이 중간에 삽입됩니다.
열이 테이블에 나타나는 값은 단지 동일한 순서로 첨가된다. 당신이 당신이있는 거 작업 컬럼의 이름을 알고 있지만, 데이터 요구에 갈 모르는 곳은 상황에서 유용합니다. 그것은 물론 휴식의 것처럼 일반적으로이 작업을 수행 할 수있는 좋은 생각이 아니라면 열의 순서 변경이나 새로운 열이 중간에 삽입됩니다.
-
==============================
5.그 구문은 단지 당신이 컬럼의 수와 같은 수의 값으로 제공하는 경우에만 경우 열을 지정하지 않고 작동합니다. 두 번째 더 중요한 것은 SQL 테이블의 열이 같은 순서로 항상하고는 테이블 정의에 달려있다. SQL 테이블에 어떤 타고난 순서가없는 유일한 행입니다.
그 구문은 단지 당신이 컬럼의 수와 같은 수의 값으로 제공하는 경우에만 경우 열을 지정하지 않고 작동합니다. 두 번째 더 중요한 것은 SQL 테이블의 열이 같은 순서로 항상하고는 테이블 정의에 달려있다. SQL 테이블에 어떤 타고난 순서가없는 유일한 행입니다.
-
==============================
6.테이블이 생성 될 때, 각각의 열은 시스템 테이블 내의 순서 번호를 가질 것이다. 그래서 각각의 값은 순서에 따라 삽입 될 것입니다 ..
테이블이 생성 될 때, 각각의 열은 시스템 테이블 내의 순서 번호를 가질 것이다. 그래서 각각의 값은 순서에 따라 삽입 될 것입니다 ..
첫 번째 값은 첫 번째 열에로 이동 ... 등등 것
SQL Server에서 시스템 테이블 syscolumn이 순서를 유지한다. PostgreSQL은이 비슷한을 가져야한다 ..
from https://stackoverflow.com/questions/11884822/sql-insert-without-specifying-columns-what-happens by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 에서 java.lang.UnsatisfiedLinkError : java.library.path에는 sqljdbc_auth 없다 (0) | 2020.06.18 |
---|---|
[SQL] 실종 날짜를 표시하는 SQL 서버 (0) | 2020.06.18 |
[SQL] 시퀀스에서 다음 번호를 얻는 방법 (0) | 2020.06.18 |
[SQL] 주말을 제외한 SQL에서 두 날짜 사이의 계산 차이, (0) | 2020.06.18 |
[SQL] 어떻게 2008 SQL 서버에서 XML 열을 읽습니까? (0) | 2020.06.18 |