sniferek 11 Zgłoś post Napisano Maj 3, 2017 witam, mam zapytanie dlaczego nie mogę wgrać zapytania w phpmyadmin:CREATE TABLE IF NOT EXISTS `players` (`uid` int(6) NOT NULL AUTO_INCREMENT,`name` varchar(32) NOT NULL,`aliases` text NOT NULL,`pid` varchar(17) NOT NULL,`cash` int(100) NOT NULL DEFAULT '0',`bankacc` int(100) NOT NULL DEFAULT '0',`coplevel` enum('0','1','2','3','4','5','6','7') NOT NULL DEFAULT '0',`mediclevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0',`civ_licenses` text NOT NULL,`cop_licenses` text NOT NULL,`med_licenses` text NOT NULL,`civ_gear` text NOT NULL,`cop_gear` text NOT NULL,`med_gear` text NOT NULL,`civ_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"',`cop_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"',`med_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"',`arrested` tinyint(1) NOT NULL DEFAULT '0',`adminlevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0',`donorlevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0',`blacklist` tinyint(1) NOT NULL DEFAULT '0',`civ_alive` tinyint(1) NOT NULL DEFAULT '0',`civ_position` varchar(64) NOT NULL DEFAULT '"[]"',`playtime` varchar(32) NOT NULL DEFAULT '"[0,0,0]"',`insert_time` timestamp DEFAULT CURRENT_TIMESTAMP,`last_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`uid`),UNIQUE KEY `pid` (`pid`),KEY `name` (`name`),KEY `blacklist` (`blacklist`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=12 ;a błąd jest taki:#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Maj 3, 2017 Ponieważ: #1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause Tłumacząc na nasze bo widzę że to jest problemem, możesz mieć tylko jedną kolumnę timestamp z ustawionym current_timestamp domyślnie lub podczas aktualizacji rekordu. Udostępnij ten post Link to postu Udostępnij na innych stronach
sniferek 11 Zgłoś post Napisano Maj 3, 2017 tak, tylko ja kto teraz zmienić aby było odpowiednio Udostępnij ten post Link to postu Udostępnij na innych stronach
Fizyda 34 Zgłoś post Napisano Maj 3, 2017 np: CREATE TABLE IF NOT EXISTS `players` ( `uid` int(6) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `aliases` text NOT NULL, `pid` varchar(17) NOT NULL, `cash` int(100) NOT NULL DEFAULT '0', `bankacc` int(100) NOT NULL DEFAULT '0', `coplevel` enum('0','1','2','3','4','5','6','7') NOT NULL DEFAULT '0', `mediclevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0', `civ_licenses` text NOT NULL, `cop_licenses` text NOT NULL, `med_licenses` text NOT NULL, `civ_gear` text NOT NULL, `cop_gear` text NOT NULL, `med_gear` text NOT NULL, `civ_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"', `cop_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"', `med_stats` varchar(32) NOT NULL DEFAULT '"[100,100,0]"', `arrested` tinyint(1) NOT NULL DEFAULT '0', `adminlevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0', `donorlevel` enum('0','1','2','3','4','5') NOT NULL DEFAULT '0', `blacklist` tinyint(1) NOT NULL DEFAULT '0', `civ_alive` tinyint(1) NOT NULL DEFAULT '0', `civ_position` varchar(64) NOT NULL DEFAULT '"[]"', `playtime` varchar(32) NOT NULL DEFAULT '"[0,0,0]"', `insert_time` timestamp, `last_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`uid`), UNIQUE KEY `pid` (`pid`), KEY `name` (`name`), KEY `blacklist` (`blacklist`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=12 ; Tylko musisz zawsze podać czas z dla insert_time, ewentualnie pobrać go z last_seen przy insercie. Chyba da się to zrobić jakimś trigerrem, dokładnie Ci nie powiem bo takich rzeczy nie robię. Wiem że się da, musisz napisać funkcję dla bazy danych która będzie reagowała na event dodawania rekordu do tabeli. Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Maj 4, 2017 (edytowany) Nie wiem jak prehistoryczną wersję MySQLa musisz tam mieć, bo to wymaganie zostało zniesione w roku 2012. Sam mam kilka kolumn tak podefiniowanych. Edytowano Maj 4, 2017 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach