sql >> Databáze >  >> RDS >> Mysql

Je na vině MySQL, že dostáváte chyby duplicitních záznamů z Hibernate?

Přírůstek je rozhodně špatný, pokud máte více než jeden proces zapisující do stejné tabulky - musíte mít kolize.

Protože mluvíme o MySQL, nejjednodušší by bylo použití identity . V mapování režimu spánku:

<generator class="identity"/>

Ve vašem skriptu MySQL:

CREATE TABLE IF NOT EXISTS `my_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `data1` int(11) NOT NULL,
  `data2` int(11) NOT NULL,
  `timestamp` datetime default NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

Chcete-li změnit existující tabulku:

ALTER TABLE `my_table`
  CHANGE COLUMN `id` `id` int(11) NOT NULL AUTO_INCREMENT=$NEW_VALUE$;

kde $NEW_VALUE$ by mělo být nahrazeno dalším dostupným ID, aby se sekvence neresetovala na 1.




  1. 2 způsoby, jak vypsat všechny funkce s hodnotou tabulky v databázi SQL Server

  2. Jak změním formátování návratových hodnot v této funkci?

  3. Převod MySQL na Doctrine Query Builder. Problémy s IF a CONCAT. Nebo jiný přístup pro poddotazy na select

  4. Jak nastavím časový limit skriptu SQL Server ze skriptu?