sql >> Database teknologi >  >> RDS >> Mysql

Er der en MySQL, der svarer til Pythons sættype?

Den korrekte måde at implementere et sæt i SQL ville være med to ekstra tabeller:

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)
);

(Du kan muligvis undgå set tabel, hvis du kun vil gemme sæt i én tabel, og den tabel har et unikt ID, og ​​du vil kun gemme ét sæt pr. post i tabellen)

Da det er meget sandsynligt, at du ikke leder efter en ordentlig SQL-tilgang (hvilket faktisk er fint, hvis du aldrig kommer til at udføre nogen in-database operation på disse sæt, udover lagring og hentning), vil du sandsynligvis gemme dit sæt denormaliseret i et enkelt felt på en tabel i stedet for at følge anbefalede fremgangsmåder; i så fald er der ingen indbygget MySQL-datatype, der kan repræsentere et Python-sæt, og du bliver nødt til at serialisere dit sæt i en varchar eller en text kolonne. Det er helt op til dig at vælge et serialiseringsformat, der passer til dine behov.



  1. Fremmednøgle til flere tabeller og kolonner?

  2. At skrive en Pandas Dataframe til MySQL

  3. Hvordan redigeres lagret procedure i Oracle SQL Developer?

  4. Sådan konverteres en streng til et tidsstempel i PostgreSQL