RedBean ORM ID 列
Posted
技术标签:
【中文标题】RedBean ORM ID 列【英文标题】:RedBean ORM ID Column 【发布时间】:2015-07-24 11:42:22 【问题描述】:有没有办法使用 RedBean php 手动设置新 bean 的 ID
?我正在存储来自 API 的缓存数据,该 API 生成每一行的 ID
,为了简单起见,我只想使用该 ID
。
我读过其他线程说只需创建一个新列 (row_id
) 或其他内容,但我只想使用生成的唯一 ID
作为 ID
。
【问题讨论】:
【参考方案1】:根据 mysql 文档
没有为 AUTO_INCREMENT 列指定值,所以 MySQL 自动分配序列号。您也可以明确地 将 0 分配给列以生成序列号。如果该列是 声明 NOT NULL,也可以将 NULL 分配给列 生成序列号。当您将任何其他值插入 AUTO_INCREMENT 列,该列设置为该值并且 序列被重置,以便下一个自动生成的值 从最大的列值开始依次排列。
如果这是真的,在 RedBean 中你可以做类似的事情
$post = R::dispense('post');
$post->id = 234;
R::store($post);
我没有对此进行测试,因为我将自动递增列设置为整数默认为 0,它会自动递增。
【讨论】:
【参考方案2】:我做了一个修改版的redbean,它允许你使用另一个字段作为主键(自动递增) https://github.com/freelanceniek/redbeanx
【讨论】:
以上是关于RedBean ORM ID 列的主要内容,如果未能解决你的问题,请参考以下文章
使用 RedBean PHP ORM 时如何确保表被某个列索引?
RedBean PHP:有没有办法保护数据库列不被更改? (例如:插入日期)