OrdinadorsBases de dades

"Trampes" LMD-Team actualització de MySQL

Cada programador, que va haver de treballar amb bases de dades, davant de les DML-operadors (traduït de l'anglès - .. "Les dades Llenguatge de manipulació"), com ara seleccionar, inserir, eliminar i Actualització. MySQL-transport també utilitza el seu arsenal de tots els ordres anteriors.

Aquestes declaracions són lògicament parlant del seu nomenament - seleccionar registres, inserir nous valors, l'actualització de les dades existents, completa, o d'acord amb les condicions especificades, l'eliminació de la informació continguda a la base de dades. Els materials de formació teòrica es descriuen en detall el principi de funcionament dels diferents ordres i la seva sintaxi, però no van trobar cap part les referències a les dificultats que puguin sorgir en la pràctica durant el seu ús. Aquest material es dedicarà a la consideració d'alguns d'ells.

En poques paraules sobre DML-declaracions (inserir)

Abans de continuar, cal recordar una vegada més més detalls sobre la finalitat de cada funció. Tindrem dos operadors interessats en més detall: Inserir i Actualització, ja que depèn d'elles es deriven les principals dificultats en el processament de grans quantitats de dades.

Ha de començar amb la comanda Insereix, i després passar gradualment a l'actualització. sistema de MySQL, igual que qualsevol altra base de dades moderna, utilitzeu l'operació d'inserció per afegir nous registres a les taules existents de base de dades. La sintaxi d'aquesta operació és molt simple i directe. Conté una llista dels camps que es faran als valors, la destinació - nom de la taula - i immediatament es va introduir una llista de dades. Cada vegada que es realitza la base de dades d'inserció serà actualitzat amb nous valors.

instrucció d'actualització

No obstant això, en la pràctica, sovint hi ha situacions que per algun conjunt de dades d'un o més valors d'atributs a ser actualitzats. A tall d'exemple, una situació en què l'empresa va ser la reforma més amb el canvi de nom dels principals departaments. En aquest cas cal fer modificacions per a cada departament. Si tan sols canviant el nom, llavors el problema es pot resoldre molt ràpidament. No obstant això, si el canvi de la codificació de cada component de tota la producció, que normalment serveix com la clau primària, que és, al seu torn, implica canvis en la informació i per a cada empleat.

Actualització - DML-operador pot ser aplicat per resoldre aquest problema. MySQL- servidor, que funciona amb un gran nombre d'entrades, amb l'ajuda d'una instrucció d'actualització, executar la consulta requerida i resoldre el problema. Però de vegades es produeixen durant l'actualització no és molt clar i difícil d'explicar la complexitat. Això és el que fa que la dificultat de registres actualitzats, es tractarà més endavant.

Que poc s'ha dit en la teoria ...

Actualització d'equip, com es va assenyalar anteriorment, s'utilitza per actualitzar els registres existents en la taula. Però en la pràctica, els clients que accedeixen als servidors de base no sempre es coneixen, hi ha un cert conjunt de dades de les taules o no. comprovació preliminar de la disponibilitat de les dades a la base de dades per a la posterior actualització dels resultats en temps i pèrdua de capacitats de servidor.

Per evitar això, en una estructura especial de base de dades MySQL - Inserir * Update, en el qual la inserció o actualització es pot fer de forma independent l'un de l'altre. És a dir, quan la taula té una entrada per a una condició particular, s'actualitzarà. Si, no es trobaran les dades de les condicions considerades, MySQL-servidor és capaç de realitzar sol·licitud de càrrega de dades.

Actualitzar les dades quan hi ha duplicats

Un component important d'aquesta Insereix - petició al sistema de gestió de base de dades MySQL - «En Duplicar actualització de la clau» prefix. La sintaxi completa de la consulta és la següent: «inserir en test_table (employer_id, nom) valors ( 1," Abramov ') en la còpia de la clau d'actualització last_modified = NOW (); ".

Aquesta sol·licitud pot ser utilitzat per a registrar les accions de, per exemple, determinar el temps de pas de l'empresa intersecció seguit comptant interval de temps i de retard de detecció. Per tal de no fer la taula un parell de registres, prou com per a cada empleat per mantenir els registres d'una actualització constant. És un disseny de comprovació de duplicats permet.

En realitat, els problemes ...

Tenint en compte l'exemple anterior de l'acció personal de registre a l'entrada, ja que el problema és l'ús samouvelichivayuschihsya (_ Increment automàtic) camps, que típicament s'utilitzen per omplir els valors de clau principal (clau _ primària). Si utilitzeu ordres d'actualització de MySQL en el disseny amb Insereix automàtic _ increment, el camp està en constant augment.

De la mateixa manera, tot el que succeeix quan s'utilitza una construcció de substitució en el cas de detecció de duplicats. "Auto-increment" valor s'incrementa i tot en el cas en què no es necessita. A causa d'això, els problemes sorgeixen valors de pas de desbordament o rangs, que posteriorment condueixen a un mal funcionament dels sistemes de gestió de base de dades.

El més probable és el problema

Descriu el problema ha de ser considerat com a desenvolupadors web, ja que és més comú en els sistemes multi-usuari (llocs web, portals, i així successivament. P.), quan el sistema s'executa un gran nombre de procediments d'inserció i Actualització de MySQL.

PHP - apel·lació a la base molt sovint porta a terme. Per tant, per aconseguir marges màxims, definits com AUTO_INCREMENT, es produeix ràpidament, i en l'anàlisi de les dificultats trobades per establir les raons simplement no funcionarà.

Per tant, s'anima als desenvolupadors a estar atents a la utilització del disseny en clau duplicada en l'actualització de comandes de MySQL. seleccionar - consultes en accedir al servidor de bases de dades funcionarà sense error, però l'addició de nous registres a la base de dades està plena de situacions desagradables en el futur portar a problemes greus. Com a alternativa, es recomana per als camps d'increment automàtic inicialment comprovar pels seus registres, i després es mantenen actualitzats.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ca.unansea.com. Theme powered by WordPress.