sql >> Database >  >> RDS >> Mysql

Dubbele invoerfouten krijgen van Hibernate, is MySQL de schuld?

Increment is absoluut slecht als je meer dan één proces hebt dat naar dezelfde tabel schrijft - je zult zeker botsingen hebben.

Aangezien het MySQL is waar we het over hebben, is identity het gemakkelijkst om te gebruiken. . In uw Hibernate-toewijzing:

<generator class="identity"/>

In uw MySQL-script:

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;

Om een ​​bestaande tabel te wijzigen:

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

waarbij $NEW_VALUE$ moet worden vervangen door de volgende beschikbare id, zodat de reeks niet wordt teruggezet naar 1.




  1. Is er een Max-functie in SQL Server die twee waarden aanneemt, zoals Math.Max ​​in .NET?

  2. Een tabblad specificeren in een postgres front-end KOPIE

  3. Vermijd deze veelvoorkomende fout bij het uitvoeren van de opgeslagen procedure in MS Access

  4. Authenticatie met oud wachtwoord wordt niet meer ondersteund, gebruik wachtwoorden in 4.1-stijl