/ / "함정"DML 명령 MySQL 업데이트

DML 명령의 "함정"업데이트 MySQL

데이터베이스 작업을해야하는 모든 프로그래머는 DML 연산자 (당. 영어로부터 - "데이터 조작 언어") 등 고르다, 끼워 넣다, 지우다 최신 정보. MySQL 환경은 또한 위의 모든 명령을 무기고에서 사용합니다.

이 운영자는 논리적으로 자신의할당-레코드 선택, 새 값 삽입, 기존 데이터 업데이트, 완료 또는 지정된 조건에 따라 데이터베이스의 정보 삭제. 교육 이론 자료에는 각 명령의 작동 원리와 구문이 자세히 설명되어 있지만 실제로 사용 중에 발생할 수있는 어려움에 대한 언급은 어디에도 없습니다. 이 자료는 그들 중 일부를 고려하는 데 전념 할 것입니다.

mysql 삽입 업데이트 선택

DML 연산자 살펴보기 (삽입)

더 진행하기 전에 각 기능의 목적에 대해 다시 한 번 더 자세히 상기해야합니다. 두 연산자에 대해 자세히 살펴 보겠습니다. 끼워 넣다 최신 정보, 많은 양의 데이터를 처리 할 때 주요 어려움이 발생하기 때문에.

mysql 삽입 업데이트

다음 명령으로 시작해야합니다. 끼워 넣다, 그런 다음 부드럽게 최신 정보. MySQL 다른 최신 DBMS와 마찬가지로 시스템은 끼워 넣다 기존 항목에 새 항목을 추가하려면데이터베이스 테이블. 이 작업의 구문은 매우 간단하고 간단합니다. 여기에는 값을 입력 할 필드, 대상 (테이블 이름) 및 입력 된 데이터 자체의 목록이 포함됩니다. 명령을 실행할 때마다 끼워 넣다 데이터베이스는 새 값으로 업데이트됩니다.

업데이트 진술

그러나 실제로는 종종특정 데이터 세트에 대해 하나 이상의 속성 값을 업데이트해야하는 상황. 예를 들어, 기업이 주요 부서의 이름을 더 변경하여 개혁을 수행 한 상황을 인용 할 수 있습니다. 이 경우 부서별로 변경이 필요합니다. 이름 만 변경되면 문제가 매우 빠르게 해결됩니다. 그러나 일반적으로 기본 키 역할을하는 전체 생산의 각 구성 요소의 인코딩이 변경되면 이는 차례로 정보와 각 직원의 변경을 수반합니다.

mysql 업데이트

고려중인 문제를 해결하기 위해 신청할 수 있습니다. DML 연산자 - 최신 정보. MySQL-많은 수의 레코드로 운영되는 서버,업데이트 문의 도움으로 요청 된 요청을 실행하고 문제를 해결합니다. 그러나 때로는 업데이트 중에 완전히 명확하지 않고 설명하기 어려운 문제가 발생합니다. 나중에 논의 할 레코드 업데이트의 어려움에 관한 것입니다.

이론상 거의 말하지 않은 것 ...

위에서 언급 한 업데이트 명령은테이블의 기존 레코드를 업데이트하는 데 사용됩니다. 그러나 실제로 데이터베이스 서버에 액세스하는 클라이언트는 특정 데이터 집합이 테이블에 있는지 여부를 항상 알 수는 없습니다. 후속 업데이트를 위해 데이터베이스의 데이터 가용성을 사전에 확인하면 시간 비용과 낭비되는 서버 기능이 발생합니다.

이를 방지하기 위해 DBMS에 특별한 디자인을 제공합니다. MySQL-삽입 * 업데이트삽입 또는 업데이트가서로 독립적으로 실행됩니다. 즉, 테이블에 특정 조건에 대한 레코드가 있으면 업데이트가 발생합니다. 문제의 조건에 대한 데이터가 없으면 MySQL 서버는 데이터 추가 요청을 실행할 수 있습니다.

중복이있는 경우 데이터 업데이트

이것의 중요한 구성 요소 끼워 넣다-데이터베이스 관리 시스템에서 쿼리 MySQL- "중복 키 업데이트시" 콘솔. 요청의 전체 구문은 다음과 같습니다.“중복 키 업데이트시 test_table (employer_id, name) 값 (1, "Abramov")에 삽입 last_modified = NOW ();".

중복 키 업데이트시 MySQL

이러한 요청을 사용하여예를 들어 휴식 시간을 계산하고 지연을 식별하여 기업의 체크 포인트를 통과하는 시간을 결정하는 등 직원의 행동 등록. 테이블에 여러 항목을 작성하지 않으려면 각 직원에 대한 기록을 지속적으로 업데이트하는 것으로 충분합니다. 이를 가능하게하는 것은 중복 체크 디자인입니다.

실제로 문제에 대해 ...

검문소에서 직원의 행동을 등록하는 위의 예를 고려할 때 자체 증가 (자동_증가) 기본 키 값을 채우는 데 일반적으로 사용되는 필드 (일 순위_). 명령을 사용할 때 MySQL 업데이트 건설 중 끼워 넣다 자동_증가, 분야는 지속적으로 증가하고 있습니다.

마찬가지로, 모든 것은중복이 발견되면 대체 구성이 사용됩니다. "자동 증가"값은 필요하지 않은 경우에도 증가합니다. 이로 인해 값이 누락되거나 범위가 오버플로되어 데이터베이스 관리 시스템의 오작동이 발생하는 문제가 있습니다.

문제를 일으킬 가능성이 가장 높음

설명 된 문제를 고려해야합니다. 편물-다중 사용자 시스템 (인터넷 사이트, 포털 등)에서 가장 일반적이기 때문에 시스템에서 많은 절차를 수행하는 개발자 끼워 넣다 MySQL을 업데이트하십시오.

PHP-데이터베이스는 매우 자주 액세스됩니다. 따라서 다음과 같이 정의 된 필드 별 최대 값 달성은 자동 증가, 신속하게 발생하며 발생한 어려움을 분석 할 때 즉시 이유를 설정할 수 없습니다.

 mysql php 업데이트

따라서 개발자는 구문 사용에 신중하게 접근하는 것이 좋습니다. 중복 키 팀에서 mysql 업데이트. 고르다 - 데이터베이스 서버에 액세스 할 때 쿼리오류없이 작동하지만 데이터베이스에 새 레코드를 추가하면 불쾌한 상황이 발생하여 심각한 문제가 발생합니다. 또는 자동 증가 필드에 대해 먼저 해당 레코드가 있는지 확인한 다음 업데이트하는 것이 좋습니다.