Ratkaistu: Ei voida luoda tai muuttaa taulukkoa ilman ensisijaista avainta, kun järjestelmämuuttuja 'sql_require_primary_key' on asetettu

Viimeisin päivitys: 09/13/2023
Kirjoittaja: SQL SourceTrail

Tänään aiomme sukeltaa ongelmaan, johon SQL-kehittäjät usein törmäävät, varsinkin kun järjestelmämuuttuja 'sql_require_primary_key' on asetettu. Ongelma tiivistyy olennaisesti siihen, että taulukkoa ei voida luoda tai muokata ilman ensisijaista avainta. Tämä saattaa tuntua pieneltä hikkaukselta, mutta todellisuudessa se voi johtaa merkittäviin komplikaatioihin, jos sitä ei ratkaista kunnolla.

Säännöt ovat yksinkertaiset – Joissakin tietokannoissa taulukoilla on oltava ensisijainen avain. Tämä tunniste nopeuttaa hakuja ja auttaa varmistamaan tietojen eheyden. Mutta kun järjestelmämuuttuja 'sql_require_primary_key' on asetettu, et voi luoda tai muuttaa taulukkoa asettamatta ensisijaista avainta.

Ratkaisu Ongelmaan

Ratkaisu on yksinkertainen – sinun on asetettava ensisijainen avain, kun luot tai muokkaat taulukkoa. Ihannetapauksessa tämän pitäisi olla yksilöllinen tunniste, kuten id-sarake. Ensisijaisen avaimen lisäämiseksi käytämme ALTER TABLE -käskyä ADD PRIMARY KEY -komennon kanssa.

ALTER TABLE table_name
ADD PRIMARY KEY (column1, column2, ...);

Koodin purkaminen

Puretaan se. 'ALTER TABLE' -komentoa käytetään olemassa olevan taulukon sarakkeiden lisäämiseen, poistamiseen/poistamiseen tai muokkaamiseen. Yhdessä "LISÄÄ ENSISIJAISEN" kanssa muokkaamme taulukkoa sisältämään ensisijaisen avaimen. Lisättävä ensisijainen avain koostuu yhdestä tai useammasta sarakkeesta ("sarake1", "sarake2" jne.) taulukossa.

Tämä komento voi näyttää tältä:

ALTER TABLE Customers
ADD PRIMARY KEY (CustomerID);
  • Ensimmäinen osa 'ALTER TABLE Asiakkaat' kertoo SQL:lle, että muokkaamme 'Customers'-taulukkoa.
  • Toinen osa 'LISÄÄ ENSISIJAINEN AVAIN (Asiakastunnus)' määrittää ensisijaiseksi avaimeksi sarakkeen 'CustomerID'.

Järjestelmämuuttuja 'sql_require_primary_key'

Mikä on sql_require_primary_key-järjestelmämuuttuja ja miten se tulee käyttöön? Kun se on PÄÄLLÄ, mikä tahansa CREATE TABLE- tai ALTER TABLE -komento ilman ensisijaista avainta aiheuttaa virheen. Se on hyödyllinen sen varmistamiseksi, että jokaisella taulukolla on ensisijainen avain tehottomuuden ja tietopuutteiden välttämiseksi.

Se voi kuitenkin aiheuttaa sekaannusta kehittäjille, jotka eivät ole tottuneet työskentelemään tietokantojen kanssa, joissa ensisijaiset avaimet ovat pakollisia. Tämän järjestelmämuuttujan ymmärtäminen auttaa lieventämään ongelmaa, jolloin voit työskennellä tehokkaammin SQL-tietokannassasi.

Yhteenvetona voidaan todeta, että vaikka kyvyttömyys luoda tai muuttaa taulukkoa ilman ensisijaista avainta saattaa aluksi tuntua haastavalta, varsinkin 'sql_require_primary_key' -järjestelmämuuttujajoukon kanssa, se on helposti ylitettävissä. Avain, aivan kirjaimellisesti, on ymmärtää käyttää ALTER TABLE -komentoa ADD PRIMARY KEY -avaimen kanssa ensisijaisen avaimen asettamiseen. Ymmärtämällä tämän yksinkertaisen ratkaisun ja sql_require_primary_key-avain vivahteet, voit luoda ja muokata taulukoita SQL:ssä helposti.

Related viestiä: