Autor Zpráva
Lolita
Profil
Phpmyadmin mi napise tohle, kdytz chci vlozit tabulku

Error

SQL query:

CREATE TABLE verze_souboru(
idverze_souboru INTEGER NOT NULL AUTO_INCREMENT ,
idsoubory INTEGER,
verze VARCHAR( 255 ) ,
jmeno_souboru VARCHAR( 255 ) ,
vydano TIMESTAMP,
zmeny TEXT,
pridano TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
editovano TIMESTAMP,
smazano TINYINT,
source VARCHAR( 1 ) ,
manual_md5 VARCHAR( 255 ) ,
manual_crc32 VARCHAR( 255 ) ,
UNIQUE UQ_verze_souboru_1( idsoubory ) ,
PRIMARY KEY ( idverze_souboru ) ,
INDEX ( idsoubory ) ,
CONSTRAINT FK_verze_souboru_1 FOREIGN KEY ( idsoubory ) REFERENCES soubory( idsoubory )
) TYPE = InnoDB;

MySQL said: Documentation
#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause


no ja nevim, ale vidim tam CURRENT_TIMESTAMP jen jednout, takze by me zajimalo co ty timestamp pouzivaj za defaultni defaultni hodnotu (: a jak je donutit tam mit null nebo tak neco ...
mitr
Profil
A nechtel jsi tam spis:
pridano TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
?
pripadne kdyz nechces NULL (ale Ty ho asi chces):
pridano TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ,
Lolita
Profil
Ne, je to tim, ze prvni timespam pole v tabulce musi byt current timestamp a az dalsi muzou byt null, genialni to vynalez, ale ani trochu nechapu proc ....
mitr
Profil
jako MyISAM mi projde:

CREATE TABLE verze_souboru(
idverze_souboru INTEGER NOT NULL AUTO_INCREMENT ,
idsoubory INTEGER,
verze VARCHAR( 255 ) ,
jmeno_souboru VARCHAR( 255 ) ,
vydano TIMESTAMP,
zmeny TEXT,
pridano TIMESTAMP,
editovano TIMESTAMP,
smazano TINYINT,
source VARCHAR( 1 ) ,
manual_md5 VARCHAR( 255 ) ,
manual_crc32 VARCHAR( 255 ) ,
UNIQUE UQ_verze_souboru_1( idsoubory ) ,
PRIMARY KEY ( idverze_souboru ) ,
INDEX ( idsoubory ) ,
CONSTRAINT FK_verze_souboru_1 FOREIGN KEY ( idsoubory ) REFERENCES soubory( idsoubory )
) TYPE = MYISAM

a potom:
ALTER TABLE verze_souboru TYPE = innodb

:-)
mitr
Profil
zajimavy je ze se ale stejne sam doplni jako:

vydano timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
Lolita
Profil
DEFAULT NULL is the same as DEFAULT CURRENT_TIMESTAMP for the first TIMESTAMP column. \:

A kvuli tomu tam sou pak prave dve defaultni current timestamp ...
Lolita
Profil
A da se nejak v mysql udelat aby se pri kazdym prikazu update pro nejakou tabulku AUTOMATICKY updatlo i nejaky pole na current_timestamp i kdyz to ma nejaky jiny pole jako default? (:
Toto téma je uzamčeno. Odpověď nelze zaslat.

0