1
archer2ee 2016-04-21 11:11:05 +08:00 via iPhone
插入后不影响 A 的自增序列的话,整个表就乱套了,后续可能会导致 id 重复的问题。
这种情况要么在插入到 A 的时候不带 id ,让其随 A 自增,要么就做 DB 同步吧。 坐等高手。 |
2
Mayuyu OP @archer2ee 所以 B 服务器的 A 表自增 ID 才设为两千万啊。当初这样设计就是为了拿来同步用的,这样重复的可能性就小多了,然而万万没想到插入之后自增 id 也会变的问题。
|
3
yuankui 2016-04-21 11:16:18 +08:00
|
4
shiji 2016-04-21 11:20:47 +08:00
理论上就应该 AUTO_INCREMENT 变成 20000515 呀。
如果你能确定这个表再怎么增加,都不会过 20000000 产生冲突, 你可以手动把 AUTO_INCREMENT 改回去,反正这种操作是不规范的也是不推荐的。 |
6
scusjs 2016-04-21 12:35:51 +08:00
数据同步过去后,
alter table table_name AUTO_INCREMENT=n |
7
msg7086 2016-04-21 12:41:51 +08:00
|
8
pubby 2016-04-21 13:14:14 +08:00
master-master 的方式,不是应该设这两个参数么?
A: auto-increment-increment = 2 auto-increment-offset = 0 B: auto-increment-increment = 2 auto-increment-offset = 1 auto-increment-increment=机器数 N auto-increment-offset = 每台机器序号 [0,1,....,N-1] |
9
void1900 2016-04-21 13:43:04 +08:00
当初设计就有问题。。。
|
10
BeanMr 2016-04-21 13:50:24 +08:00 via Android
如果确认数据库数量为什么不用遗赠步长控制呢? A 库用奇数 B 用偶数!
|
11
kamushin 2016-04-21 14:01:26 +08:00
AUTO_INCREMENT 不应该用作主键(提升数据库性能)外的任何目的.
|
12
darasion 2016-04-21 14:11:01 +08:00
为什么要这么做? 怕浪费 ID 空间么? 囧。
|
13
Mayuyu OP @darasion 因为公司会在其他很多城市都有业务,所以会在当地架一台服务器。
魔都的作为主数据库,下面城市的数据会定时的插入到主库,但是为了每个城市的数据写入到上海数据库的时候不重复,所以才想到了用 2kw , 3kw 。。。。。一直到 9kw 。 不是传统的主从或者主主,需求是:魔都的数据库里面有其他城市的数据,但其他城市的数据库里面只有本地的数据。但偶尔也可能会让本地有上海的数据。 |
15
minotaur 2016-05-04 15:41:36 +08:00
为啥不 mod 1024 ,用范围。
|