Autor Zpráva
petrsvetr
Profil
Lidi, setkali jste se nekdy s touto hlaskou?

Zadam do mysql tento kod:

CREATE TABLE autori
(
id_autora SMALLINT(3) DEFAULT '0' NOT NULL auto_increment,
login VARCHAR(10) NOT NULL,
heslo VARCHAR(10) NOT NULL,
jmeno VARCHAR(30),
email VARCHAR(30) NOT NULL,
vedouci SET('true','false') DEFAULT 'true' NOT NULL,
PRIMARY KEY (id_autora)
);

a vyjede tato hlaska:
ERROR 10607 (42000) Invalid default value for ´ID_autora´


muzu mit zastaralou verzi mysql? Prosim o radu....
petrsvetr
Profil
Je tu snaha o definování
automaticky generovaného jedninečného iddentifikátoru........to má splňovat právě:

id_autora SMALLINT(3) DEFAULT '0' NOT NULL auto_increment,
petrsvetr
Profil
to samé se mi objevuje u :

CREATE TABLE rubriky
(
id_rubriky TINYINT(2) DEFAULT '0' NOT NULL auto_increment,
rubrika VARCHAR(25) NOT NULL,
cesta VARCHAR(40) NOT NULL,
PRIMARY KEY (id_rubriky)
);
Joker
Profil
DEFAULT '0'
se snaží dát jako výchozí hodnotu řetězec "0" poli, které má číselný formát.
DEFAULT 0
by mělo fungovat.
Mastodont
Profil
Manuál k MySQL vcelku logicky říká:

There can be only one AUTO_INCREMENT column per table, it must be indexed, and it cannot have a DEFAULT value.

http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Backflip
Profil
Pro ty, co nemuměj anglicky, v překladu to znamená:
Může být jen jeden sloupec AUTO_INCREMENT na tabulku, musí být indexován a nemůže mít hodnotu DEFAULT.
Nemyslím si, že ti, co dělaj stránky, neuměj aspoň základy angličtiny, ale stejně...
Mastodont
Profil
Backflip
Díky, to je moje profesionální deformace. Já už s lidmi nehovořícími anglicky přijdu do kontaktu nejvýše jednou za týden :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0