请教大家,数据库已经有一个字段是自增ID了,另一个字段也想实现自增ID,LARAVEL怎么实现?谢谢
大家好,项目是在重构的别人遗留下来的,数据库里边的position字段已经已经是auto_increment,
现在pid字段需要是在插入数据时实现自增的,MYSQL是不能有两个自增ID的,所以请教一下大家,LARAVEL怎么实现?谢谢!
提供一个思路, 可以借助 Redis 来实现
直接用时间戳就完事儿
一个表只能有一个自增字段,且这个字段是
key
(非主键也可以自增,但一定要是键)才能赋予自增属性。不想改代码的话,就只能在 MySQL 中加触发器了。为什么不使用连表查询呢,两个自增字段分别放两个表里
能说一下你的目的,和有什么要求吗?比如,可以和主键ID一样吗?都是1 2 3 4 5 ...
@芝麻开门 帖子排序为什么不用时间排序呢?另外你可以把相关业务贴出来,让论坛的大佬帮忙想想有没有其他的实现方案
能说一下你的目的,和有什么要求吗?比如,可以和主键 ID 一样吗?都是 1 2 3 4 5 ...
使用redis incr 完美满足!
谢谢大家,想到一个方法了,取出pid的最后一个列的数值,加1后再写入数据库 :sweat_smile:
不用
redis
的话,那用file
做缓存。缓存系统 - 递增与递减值
提供一個辦法,insert 后返回自增 ID ,用這個 ID 加一個固定值(先定義出來),再執行 update
看有没有并发了,没并发的话,,重写一个下 created 和 save 方法,,该字段的最大值加1就是的,,有并发的话,, file也不行,只能上redis
提供一个想法,用 snowflake 算法生成id。如果生成的数据嫌太长,可以把时间参数调整下,减少位数。
插入数据时,查一下上一条数据是多少...加1
mysql修改器,pid=id+1,id只要不重复,pid就不会重复,laravel的话就是观察者处理!