Nefunguje modifikátor DEFAULT a výčtový datový typ ENUM – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nefunguje modifikátor DEFAULT a výčtový datový typ ENUM – MySQL – Fórum – Programujte.comNefunguje modifikátor DEFAULT a výčtový datový typ ENUM – MySQL – Fórum – Programujte.com

 

Tomáš
~ Anonymní uživatel
560 příspěvků
9. 3. 2017   #1
-
0
-

Dobrý den,

chtěl bych se zeptat, proč mi v konzoli při práci s MySQL databází hlási tento příkaz pro vytvoření tabulky chybu u modifikátoru DEFAULT:

CREATE TABLE uzivatele(
  ID int AUTO_INCREMENT PRIMARY KEY,
  jmeno varchar(60),
  prijmeni varchar(60),
  Skupina char(1) default('A')
);

Pokud tabulku vytvořím bez modifikátoru DEFAULT, vše funguje tak, jak má. Pokud pak chci upravit sloupec Skupina na výčtový datový typ, aby bylo možné zadávat pouze určité hodnoty, konzole hlásí také chybu:

alter table uzivatele modify Skupina char(1) enum ('A', 'B', 'C');

Mohl by mi někdo poradit, jak příkazy upravit tak, aby to fungovalo? S MySQL se teprve učím, ale při hledání na internetu jsem našel, že takto by to mělo fungovat, ale možná jsem něco špatně pochopil...

Díky moc za vysvětlení a upravení příkazů :)

Nahlásit jako SPAM
IP: 185.68.28.–
gna
~ Anonymní uživatel
1851 příspěvků
9. 3. 2017   #2
-
0
-

Nezkoušel jsem to, ale tomu defaultu by mohly vadit ty závorky. Taky si nemyslím, že enum se dá zapsat s dalším typem, takže asi ne char(1) enum..., ale prostě enum...

Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
3981 příspěvků
9. 3. 2017   #3
-
0
-

Presne tak, zadavas tam hodnotu, proc tam mas zavorky? Ale taky jsem to nezkousel.
Default NULL taky nepises jako
Default (NULL)

CREATE TABLE uzivatele
  (
     id       INT auto_increment PRIMARY KEY,
     jmeno    VARCHAR(60),
     prijmeni VARCHAR(60),
     skupina  CHAR(1) DEFAULT 'A'
  ); 
Nahlásit jako SPAM
IP: 2001:718:2601:26c:5c04:f5...–
Tomáš
~ Anonymní uživatel
560 příspěvků
9. 3. 2017   #4
-
0
-

Díky moc, co se týká ENUM, mělo mě to napadnout - vím, že ENUM je zvláštní datový typ, ale jak jsem do toho koukal dlouho a stále dokola a s MySQL začínám, vůbec mi nedošlo, že tam mám vlastně dva datové typy....

Co se týká default bez závorek, zkouším to a funguje to, i když si myslím, že bez zárovek už jsem to zkoušel ještě než jsem sem psal a nešlo to, ale to nevadí, hlavní je, že to již funguje...

Díky moc za rychlé reakce :)

Nahlásit jako SPAM
IP: 185.68.28.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Datový typ — založil Rade.k

Dátový typ — založil zonda

Datový typ v tabulce — založil LiDr

Špatný datový typ? — založil Díkydíky

Datový typ - 256 bitů — založil Hlavinka

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý