Autor | Zpráva | ||
---|---|---|---|
Enko Profil * |
#1 · Zasláno: 8. 8. 2012, 23:07:13 · Upravil/a: Enko
Ahoj, napsal jsem si zachytávač chyb, při ukládání nových dat do MySQL tabulky. A občas se mi ten záznam neuloží a zapíše mi to následující chybu:
Nepodařilo se uložit data do MySQL 1062 - Duplicate entry '2012-08-08 20:15:02-' for key 'Time_MAC' Pod čarou následuje celý SQL dotaz ---------------------------------- INSERT INTO users (`id`, `browser`, `browser_version`, `browser_user_agent`, `platform`, `identity`, `mac`, `ip`, `timestamp`, `hostname`, `link`, `error`, `lang`) VALUES (null, 'BlackBerry', '534.8', 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9780; cs) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.668 Mobile Safari/534.8+', 'BlackBerry', '', '', '', null, '', '', '', 'cs') Můžete mi někdo prosím poradit, proč se tak čas od času děje? Přikládám strukturu tabulky SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; CREATE TABLE IF NOT EXISTS `users` ( `id` int(14) NOT NULL AUTO_INCREMENT, `browser` varchar(99) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `browser_version` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `browser_user_agent` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `platform` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `identity` varchar(99) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'textový identifikátor jednotky', `mac` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `ip` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `timestamp` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, `hostname` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT 'jmeno jednotky na ktere je uzivatel', `link` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `error` varchar(999) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, `lang` varchar(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `Time_MAC` (`timestamp`,`mac`), KEY `timestamp` (`timestamp`), KEY `mac` (`mac`), KEY `identity` (`identity`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2688 ; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; Pokud to správně chápu, pomohlo by odstranění UNIQUE KEY `Time_MAC` (`timestamp`,`mac`)? |
||
Alphard Profil |
#2 · Zasláno: 8. 8. 2012, 23:22:06
Enko:
„Pokud to správně chápu, pomohlo by odstranění UNIQUE KEY `Time_MAC` (`timestamp`,`mac`)?“ Ano, proč jste to definoval jako unikátní, má to nějaký smysl? |
||
Enko Profil * |
#3 · Zasláno: 8. 8. 2012, 23:24:37
Teď když na to koukám, musel jsem se překliknout při vytváření. Děkuju za radu, v podstatě to nemá žádný smysl
|
||
Časová prodleva: 12 let
|
0