package com.Jdbc.demo;
import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;
import com.
【java】 【mysql】 【SQL】 【数据库】 【string】 【static】 【exception】 【JDBC】 …
问题:用MySQL实现发号器功能,确保每次取到的ID号都是唯一的 实现:下面是一个大致的思路,抛个砖,欢迎回帖。
根据号段大小,决定是否分成多个表,每个表事先填充各个不同的号段。 每个应用端取号时,设置事务隔离级别为:REPEATABLE
READ,并且采用下面的方式读取数据 SELECT `ID` FROM `ID_RANGE_XX` ORDER BY ID
LIMIT 1 FOR UPDATE
在上述情境中,只要选择某个ID号,那么其他终端也在读取该号时,会产生锁等待,而不会发生ID号被重用的情况。
【faq】 【mysql】 【repeatable】 点击查看原文> …