컴퓨터, 데이터베이스
"함정"DML-팀 업데이트 MySQL의
DML에-사업자에 직면 데이터베이스 작업을했다 모든 프로그래머 (영어 번역은 - .. "데이터 조작 언어")와 같은 선택, 삽입 등, 삭제 과 업데이트. MySQL의 운반은 위의 명령을 모두 자사의 무기고를 사용합니다.
전체 또는 특정 조건, 데이터베이스에있는 정보의 제거에 따라 기존 데이터를 업데이트, 새로운 값을 삽입, 선택 기록 -이 문장은 논리적으로 자신의 약속에 대해 이야기하고 있습니다. 이론적 인 교육 자료는 구체적으로 각 명령과 구문의 동작 원리를 설명하지만, 아무데도 사용 중에 실제로 발생할 수있는 어려움에 대한 참조를 찾을 수 없습니다. 이 물질은 그들 중 일부의 고려에 전념 할 것입니다.
DML 명령문에 대해 간단히 (삽입)
더 진행하기 전에, 각 함수의 목적에 대한 자세한 내용을 불러 다시 한 번 필요하다. 우리는 더 많은 세부 사항에 관심이 연산자를해야합니다 : 삽입 과 그들에 의존하기 때문에 업데이트는 많은 양의 데이터를 처리하는 주요 어려움을 유도.
당신은 명령 삽입으로 시작하고 점차 업데이트로 이동해야합니다. MySQL의 시스템은 다른 현대적인 데이터베이스와 같은 기존의 테이블에 새 레코드를 추가하려면 삽입 작업을 사용하여 데이터베이스. 이 작업의 구문은 매우 단순하고 간단합니다. 테이블의 이름 - - 그것은 값으로 이루어집니다 필드, 대상의 목록을 포함하고 즉시 데이터의 목록을 발표했다. 당신이 삽입 데이터베이스를 할 때마다 새 값으로 업데이트됩니다.
업데이트 문
그러나 실제로는, 매우 자주 데이터를 하나 이상의 속성 값의 일부 세트 업데이트 할 경우가 있습니다. 예를 들어, 회사의 주요 부서의 또 다른 이름 바꾸기와 개혁이었다 상황으로. 이 경우에는 각 부서에 대한 변경을 할 필요가있다. 이름 만 변경하는 경우, 문제는 매우 신속하게 해결할 수 있습니다. 그러나, 일반적으로 주요 키의 역할 전체 생산의 각 구성 요소의 부호를 변경하는 경우, 결과적으로, 정보 및 각 종업원에 대한 변화를 수반한다.
업데이트 - DML-운영자는이 문제를 해결하기 위해 적용 할 수 있습니다. MySQL- 서버, 업데이트 문의 도움으로 많은 수의 항목과 운영에 필요한 쿼리를 실행하고 문제를 해결. 그러나 때때로 업데이트 복잡성을 설명하는 것은 매우 명확하고 어려운 일이 아니다 동안 발생합니다. 즉 더 논의 될 것이다 업데이트 된 레코드의 어려움을 일으키는 것입니다.
작은 어떤 이론에서 말했다되었습니다 ...
위에서 언급 한 바와 같이 업데이트 팀은 테이블의 기존 레코드를 업데이트하는 데 사용됩니다. 그러나 실제로는, 데이터베이스 서버에 액세스하는 클라이언트는 항상 알 수없는, 테이블 또는하지의 데이터의 특정 세트가있다. 예비 시간과 서버 기능의 폐기물 결과의 후속 업데이트에 대한 데이터베이스에서 데이터의 가용성을 확인합니다.
특별한 데이터베이스 MySQL의 구조로,이를 방지하기 위해 - 삽입 * 업데이트가있는 삽입 또는 업데이트는 서로 독립적으로 수행 할 수 있습니다. 즉, 테이블이 특정 조건에 대한 항목이있는 경우, 업데이트 될 예정입니다. 고려 조건이, 데이터를 찾을 수 없습니다하면, MySQL 서버의 데이터 업로드 요청을 수행 할 수 있습니다.
업데이트 데이터는 경우 중복있다
이 삽입의 중요한 구성 요소 - MySQL의 데이터베이스 관리 시스템에 요청 - 접두사«중복 키 업데이트에»의. 다음과 같이 쿼리의 전체 구문은 다음과 같습니다«test_table (employer_id, 삽입 이름) 값 ( 1, '아브라모프') 중복 키에 NOW = LAST_MODIFIED 갱신 (); ".
이러한 요청은 시간 간격의 검출 지연을 계산 하였다 교차로 통과 시간의 기업, 예를 들면, 기록 동작을 결정하는 데 사용될 수있다. 위해 테이블에게 지속적인 업데이트와 기록을 유지하기 위해 각 직원에 대한 충분한 몇 가지 기록을 만들 수 없습니다. 그것은 중복 체크 디자인이 허용됩니다.
사실 문제 ...
이 문제는 사용 samouvelichivayuschihsya 통상적 차 키 값을 채우기 위해 사용된다 (자동 _ 증분) 필드 (_ 기본 키)와 같이, 입구에서 등록 스탭 동작의 위의 예를 고려. 당신은 삽입과 디자인 MySQL의 업데이트 명령을 사용하는 경우 자동 _ 증가는 분야는 지속적으로 증가하고있다.
중복 검색의 경우 대체 구성을 사용하는 경우 마찬가지로, 모든 발생합니다. "자동 증가"값도 필요하지 않은 경우에 증가한다. 이 때문에, 문제는 이후에 데이터베이스 관리 시스템의 오작동으로 이어질 오버 플로우 패스 값 또는 범위를 발생한다.
대부분의 경우 문제
이 다중 사용자 시스템 (웹 사이트, 포털, 등등. P.)에서 가장 일반적이기 때문에 시스템이 절차의 많은 수의 삽입을 실행하면 문제가, 웹 개발자를 고려해야합니다 설명 와 MySQL을 업데이트합니다.
PHP -베이스에 호소는 매우 자주 수행. 따라서, 빠르게 발생, AUTO_INCREMENT로 정의 최대 마진을 달성하고, 문제의 분석에 이유가 단지 작동하지 않습니다 확립 발생합니다.
따라서 개발자는 명령 MySQL의 업데이트에 중복 키에 디자인의 사용에 세심한 할 것을 권장합니다. 선택 - 쿼리는 데이터베이스 서버가 오류없이 작동에 액세스 할 때,하지만 데이터베이스에 새 레코드의 추가는 심각한 문제로 미래를 리드 불쾌한 상황을 내포한다. 또한, 그것은 자동 증가 필드는 처음에 자신의 기록을 확인하고 업데이트를 유지하는 것이 좋습니다.
Similar articles
Trending Now