Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Gặp lỗi nhập trùng lặp từ Hibernate, MySQL có phải là nguyên nhân?

Việc tăng dần chắc chắn là không tốt nếu bạn có nhiều hơn một quy trình ghi vào cùng một bảng - bạn nhất định có va chạm.

Vì đó là MySQL mà chúng ta đang nói đến, nên thứ dễ sử dụng nhất sẽ là identity . Trong ánh xạ Hibernate của bạn:

<generator class="identity"/>

Trong tập lệnh MySQL của bạn:

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;

Để thay đổi bảng hiện có:

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

trong đó $ NEW_VALUE $ nên được thay thế bằng id có sẵn tiếp theo để trình tự đó không được đặt lại thành 1.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối với cơ sở dữ liệu mySQL bằng asp.net

  2. MySQL:vượt quá thời gian chờ khóa

  3. Cách khởi động máy chủ MySQL trên Windows XP

  4. Thứ tự MySQL theo kết quả phù hợp nhất

  5. Khi bạn có một trường TEXT trong MySQL hoặc PostgreSQL, bạn có nên đặt nó trong một bảng riêng không?