CREATE TABLE setTest(
attrib SET('bold','italic','underline')
);
INSERT INTO setTest (attrib) VALUES ('bold');
INSERT INTO setTest (attrib) VALUES ('bold,italic');
INSERT INTO setTest (attrib) VALUES ('bold,italic,underline');
można skopiować powyższy kod i wklej go w mysql, a okaże się, że SET faktycznie jest zbiorem. Możesz przechowywać każdy kombinację deklarowanych atrybutów.
CREATE TABLE enumTest(
color ENUM('red','green','blue')
);
INSERT INTO enumTest (color) VALUES ('red');
INSERT INTO enumTest (color) VALUES ('gray');
INSERT INTO enumTest (color) VALUES ('red,green');
Możesz również skopiować powyższy kod. I okaże się, że każdy z nich może być przechowywany tylko raz za każdym razem. I przekonasz się, że wyniki ostatnich 2 linii będą puste.
Nie adv/disadv . Powinieneś wybrać jedną z nich w zależności od wymagań. – ravnur
Te dwa typy nie są powiązane. Równie dobrze możesz zapytać, co jest lepsze - int lub tekst? – Bohemian