sql >> Database >  >> RDS >> Mysql

Is er een MySQL-equivalent van het settype van Python?

De juiste manier om een ​​set in SQL te implementeren zou zijn met twee extra tabellen:

CREATE TABLE set (
    id int unsigned PRIMARY KEY AUTO_INCREMENT
);

CREATE TABLE set_member (
    set_id int unsigned NOT NULL,
    FOREIGN KEY (set_id) REFERENCES set(id),
    member <whatever_type_your_set_is_of> NOT NULL,
    UNIQUE (set_id, member)
);

(Misschien kun je de set vermijden tabel, als u sets in slechts één tabel wilt opslaan, en die tabel heeft een unieke ID, en u zult slechts één set per record in de tabel opslaan)

Aangezien het zeer waarschijnlijk is dat u niet op zoek bent naar een goede SQL-aanpak (wat eigenlijk prima is, als je gaat nooit enige bewerking in de database uitvoeren op die sets, behalve opslag en ophalen), je zult je set waarschijnlijk gedenormaliseerd opslaan in een enkel veld op een tabel in plaats van de aanbevolen werkwijzen te volgen; in dat geval is er geen native MySQL-gegevenstype dat een Python-set kan vertegenwoordigen en moet u uw set serialiseren in een varchar of een text kolom. Het is geheel aan jou om een ​​serialisatie-indeling te kiezen die aan je behoeften voldoet.



  1. kan MySql niet starten in Mac OS 10.6 Snow Leopard

  2. Een licentiesysteem maken

  3. Kubernetes gebruiken om PostgreSQL te implementeren

  4. MySQL SELECTEER IN OUTFILE Exportopties