데이터베이스 작업을해야하는 모든 프로그래머는 DML 문 (당. 영어로부터 - "데이터 조작 언어") 등 고르다, 끼워 넣다, 지우다 및 최신 정보. MySQL 환경은 또한 위의 모든 명령을 무기고에서 사용합니다.
이 운영자는 논리적으로 자신의할당-레코드 선택, 새 값 삽입, 기존 데이터 업데이트, 완료 또는 지정된 조건에 따라 데이터베이스의 정보 삭제. 교육 이론 자료에는 각 명령의 작동 원리와 구문이 자세히 설명되어 있지만 실제로 사용 중에 발생할 수있는 어려움에 대한 언급은 어디에도 없습니다. 이 자료는 그들 중 일부를 고려하는 데 전념 할 것입니다.
더 진행하기 전에 각 기능의 목적을 더 자세히 다시 한 번 불러 와야합니다. 두 연산자에 대해 자세히 살펴 보겠습니다. 끼워 넣다 및 최신 정보, 많은 양의 데이터를 처리 할 때 주요 어려움이 발생하기 때문에.
다음 명령으로 시작해야합니다. 끼워 넣다, 그런 다음 부드럽게 최신 정보. MySQL 다른 최신 DBMS와 마찬가지로 시스템은 끼워 넣다 기존에 새 항목을 추가하려면데이터베이스 테이블. 이 작업의 구문은 매우 간단하고 간단합니다. 여기에는 값을 입력 할 필드, 대상 (테이블 이름) 및 입력 된 데이터 자체의 목록이 포함됩니다. 명령을 실행할 때마다 끼워 넣다 데이터베이스는 새 값으로 업데이트됩니다.
그러나 실제로는 종종일부 데이터 세트의 경우 하나 이상의 속성 값을 업데이트해야하는 상황. 예를 들어, 기업이 주요 부서의 이름을 더 변경하여 개혁을 수행 한 상황을 언급 할 수 있습니다. 이 경우 부서별로 변경해야합니다. 이름 만 변경되면 문제가 매우 빠르게 해결됩니다. 그러나 일반적으로 기본 키 역할을하는 전체 생산의 각 구성 요소의 인코딩이 변경되면 차례로 정보 및 각 직원의 변경이 수반됩니다.
고려중인 문제를 해결하기 위해 신청할 수 있습니다. DML 연산자 - 최신 정보. MySQL-많은 수의 레코드로 운영되는 서버,update 문의 도움으로 요청 된 요청을 실행하고 문제를 해결합니다. 그러나 때로는 업데이트 중에 완전히 명확하지 않고 설명하기 어려운 문제가 발생합니다. 아래에서 논의 할 레코드 업데이트의 어려움에 관한 것입니다.
위에서 언급 한 업데이트 명령은테이블의 기존 레코드를 업데이트하는 데 사용됩니다. 그러나 실제로 데이터베이스 서버에 액세스하는 클라이언트는 특정 데이터 집합이 테이블에 있는지 여부를 항상 알 수는 없습니다. 후속 업데이트를 위해 데이터베이스의 데이터 가용성을 사전에 확인하면 시간 비용과 낭비되는 서버 기능이 발생합니다.
이를 방지하기 위해 DBMS는 특별한 디자인을 제공합니다. MySQL-삽입 * 업데이트삽입 또는 업데이트가서로 독립적으로 실행됩니다. 즉, 테이블에 특정 조건에 대한 레코드가 있으면 업데이트가 발생합니다. 문제의 조건에 대한 데이터가 없으면 MySQL 서버는 데이터 추가 요청을 실행할 수 있습니다.
이것의 중요한 구성 요소 끼워 넣다-데이터베이스 관리 시스템에서 쿼리 MySQL- "중복 키 업데이트시" 접두사. 요청의 전체 구문은 다음과 같습니다.“중복 키 업데이트시 test_table (employer_id, name) 값 (1, "Abramov")에 삽입 last_modified = NOW ();".
이러한 요청을 사용하여예를 들어 휴식 시간을 계산하고 지연을 식별하여 기업 입구를 건너는 시간을 결정하는 등 직원의 행동 등록. 테이블에 여러 항목을 작성하지 않으려면 각 직원에 대한 기록을 지속적으로 업데이트하는 것으로 충분합니다. 이를 가능하게하는 것은 중복 체크 디자인입니다.
검문소에서 직원의 행동을 등록하는 위의 예를 고려할 때 자체 증가 (자동_증가) 기본 키 값을 채우는 데 일반적으로 사용되는 필드 (일 순위_키). 명령을 사용할 때 MySQL 업데이트 건설 중 끼워 넣다 자동_증가, 분야는 지속적으로 증가하고 있습니다.
마찬가지로, 모든 것은중복이 발견되면 대체 구성이 사용됩니다. "자동 증가"값은 필요하지 않은 경우에도 증가합니다. 이로 인해 값이 누락되거나 범위가 오버플로되어 데이터베이스 관리 시스템이 오작동하는 문제가 있습니다.
설명 된 문제를 고려해야합니다. 편물-개발자, 다중 사용자 시스템 (웹 사이트, 포털 등)에서 가장 일반적이기 때문에 시스템에서 많은 절차를 수행 할 때 끼워 넣다 및 MySQL을 업데이트하십시오.
PHP-데이터베이스는 매우 자주 액세스됩니다. 따라서 다음과 같이 정의 된 필드에 의해 최대 값 달성 자동 증가, 신속하게 발생하며 발생한 어려움을 분석 할 때 즉시 이유를 설정할 수 없습니다.
따라서 개발자는 구조 사용에 신중하게 접근하는 것이 좋습니다. 중복 키 팀에서 mysql 업데이트. 고르다 - 데이터베이스 서버에 액세스 할 때 쿼리오류없이 작동하지만 데이터베이스에 새 레코드를 추가하면 불쾌한 상황이 발생하여 심각한 문제가 발생합니다. 또는 자동 증가 필드에 대해 먼저 레코드가 있는지 확인한 다음 업데이트하는 것이 좋습니다.