Mga computerMga database

"Pitfalls" DML-Team I-update ang MySQL

Bawat programmer, na may upang gumana sa database, nahaharap sa DML-operator (isinalin mula sa Ingles - .. "Data manipulasyon Wika"), tulad ng Pumili, Insert, Tanggalin at I-update. MySQL-transportasyon gumagamit din nito arsenal ng lahat ng mga utos sa itaas.

Mga pahayag na ito ay lohikal na pakikipag-usap tungkol sa kanyang appointment - pagpili ng mga tala, ipasok ang mga bagong halaga, pag-update ng umiiral na data, kumpleto, o alinsunod sa mga tinukoy na kondisyon, ang pag-alis ng mga impormasyon sa database. Ang manilay-nilay pagsasanay materyales ay inilarawan sa detalye sa prinsipyo ng operasyon ng bawat utos at ang kanilang mga syntax, ngunit wala kahit saan natagpuan patungkol sa mga paghihirap na maaaring lumabas dahil sa kasanayan sa panahon ng paggamit. Ang materyal na ito ay nakatuon sa pagsasaalang-alang ng ilan sa kanila.

Mabilisang tungkol sa DML-pahayag (Insert)

Bago ka magpatuloy, ito ay kinakailangan sa sandaling muli upang isipin ang higit pang mga detalye tungkol sa mga layunin ng bawat gamit. Mayroon kaming dalawang mga operator na interesado sa higit pang detalye: Insert at Update, dahil ito ay depende sa mga ito kinukuha ang mga pangunahing problema sa pagpoproseso ng malalaking halaga ng data.

Dapat kang magsimula sa ang command Insert, at pagkatapos ay dahan-dahan lumipat sa I-update. MySQL system, tulad ng anumang iba pang mga modernong database, gamitin ang Ipasok na operasyon upang magdagdag ng bagong tala sa umiiral na mga talahanayan ng database. Ang syntax ng operasyon na ito ay napaka-simple at tapat. Ito ay naglalaman ng isang listahan ng mga patlang na kung saan ay ginawa upang ang mga halaga, ang destinasyon - pangalan ng talahanayan - at agad na ipinakilala ng isang listahan ng data. Sa bawat oras na magsagawa ka ng Insert database ay maa-update na may bagong mga halaga.

I-update ang pahayag

Subalit, sa pagsasanay, lubos na madalas may mga sitwasyon na para sa ilang mga hanay ng mga data sa isa o higit pang mga halaga ng katangian ma-update. Bilang halimbawa, ang isang sitwasyon kung saan ang kumpanya ay reporma na may karagdagang pagpapalit ng pangalan ng mga pangunahing mga kagawaran. Sa kasong ito ito ay kinakailangan upang gumawa ng mga pagbabago para sa bawat department. Kung lamang ang pagpapalit ng pangalan, pagkatapos ay ang problema ay maaaring lutasin nang masyadong mabilis. Gayunpaman, kung ang pagpapalit ng coding ng bawat bahagi ng buong produksyon, na kung saan ay karaniwang nagsisilbi bilang pangunahing susi, iyon ay, siya namang, entails pagbabago sa impormasyon at para sa bawat empleyado.

I-update - DML-operator maaaring ilapat upang malutas ang problemang ito. MySQL- server, operating na may isang malaking bilang ng mga entry, sa tulong ng isang update statement, execute ang mga kinakailangang query at malutas ang problema. Ngunit minsan mangyari sa panahon ng pag-update ay hindi lubos na malinaw at mahirap na ipaliwanag kumplikado. Iyon ay kung ano ang nagiging sanhi ng kahirapan ng mga talaan na-update, tatalakayin pa.

Anong kaunti ay sinabi sa teorya ...

I-update Team, tulad ng nabanggit sa itaas, ay ginagamit upang i-update ang mga umiiral na mga talaan sa talahanayan. Ngunit sa kasanayan, mga kliyente sa pag-access ang database server ay hindi palaging kilala, mayroong isang tiyak na hanay ng mga data sa mga talahanayan o hindi. Preliminary i-check ang availability ng data sa database para sa kasunod na pag-update ng mga resulta sa oras-ubos at basura ng server kakayahan.

Upang maiwasan ito, sa isang espesyal na database MySQL istraktura - Insert * I-update, kung saan ang insert o i-update ay maaaring gumanap nang nakapag-iisa ng bawat isa. Iyon ay kapag ang mga mesa ay may isang entry para sa isang partikular na kondisyon, maa-update. Kung ang mga kondisyon isinasaalang-alang, ang data ay hindi matagpuan, MySQL-server ay magagawang upang maisagawa ang data uploads kahilingan.

I-update ang data kapag may mga duplikado

Isang mahalagang bahagi ng Insert ito - kahilingan sa MySQL database management system - «Sa Duplicate Key Update» prefix. Ang kumpletong syntax ng query ay ang mga sumusunod: «maisingit test_table (employer_id, name) na mga halaga ( 1, 'Abramov') sa duplicate key update last_modified = NGAYON (); ".

Ang ganitong mga kahilingan ay maaaring gamitin upang i-record ang mga pagkilos ng, halimbawa, matukoy ang intersection pagpasa ng oras enterprise sinundan sa pamamagitan ng pagbibilang agwat ng oras at pag-detect pagkaantala. Upang hindi upang gawin ang mga talahanayan ng ilang mga talaan, sapat para sa bawat empleyado upang panatilihin ang mga talaan na may pare-pareho ang pag-update. Ito ay isang dobleng check disenyo ay nagbibigay-daan ito.

Sa totoo lang problema ...

Isinasaalang-alang ang halimbawa sa itaas ng pagkilos registration staff sa entrance, pati na ang problema ay ang paggamit samouvelichivayuschihsya (auto _ increment) patlang, na kung saan ay karaniwang ginagamit upang punan ang pangunahing susi halaga (primary _ key). Kung ikaw ay gumagamit ng MySQL update ang utos sa disenyo na may Insert auto _ pagdagdag, ang patlang na ito ay patuloy na pagtaas.

Gayon din naman, lahat ng bagay ang mangyayari kapag gumagamit ng isang kapalit construction sa kaso ng mga dobleng detection. "Auto-increment" value ay nadagdagan kahit sa kaso kung saan ito ay hindi kinakailangan. Dahil dito, ang mga problema lumabas dahil overflow halaga pass o mga hanay, na pagkatapos ay humahantong sa pagpalya ng mga sistema ng pamamahala ng database.

Malamang ang problema

Naglalarawan ang problema ay dapat na itinuturing na Web-developer, tulad ng ito ay pinaka-karaniwan sa mga sistema ng multi-user (mga website, mga portal, at iba pa. P.), Kapag ang sistema ay pinaandar isang malaking bilang ng mga pamamaraan Insert at I-update ang MySQL.

PHP - apela sa base napakadalas gumanap. Samakatuwid, upang makamit ang pinakamataas na margin, tinukoy bilang auto_increment, nangyayari mabilis, at sa pag-aaral ng mga paghihirap nakatagpo upang maitaguyod ang mga dahilan lamang ay hindi gagana.

Samakatuwid, sa mga developer ay hinihikayat na maging masigasig sa ang paggamit ng mga disenyo sa mga duplicate na susi sa utos MySQL pag-update. piliin - mga query kapag ina-access ang database server ay gagana nang walang error, ngunit ang karagdagan ng bagong mga talaan sa database ay puno na may di-magagandang sitwasyon sa hinaharap humantong sa mga malubhang problema. Bilang kahalili, ito ay inirerekomenda para sa auto-increment patlang una suriin para sa kanilang mga talaan, at pagkatapos pindutin nang matagal ang mga ito na-update.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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