gpt4 book ai didi

php - 使用自增 ID 作为主键

转载 作者:行者123 更新时间:2023-11-29 06:27:33 26 4
gpt4 key购买 nike

我正在制作一个基本的博客。用户可以添加帖子,填写标题、正文、日期。提交时,primary id 字段显然会自动递增。

我正在使用 Laravel 5 seeding 用虚拟数据填充数据库。问题是,当我需要重新播种数据时,我删除了之前的行,DB::table('articles')->delete(); 然后重新播种。

问题是,自动递增的 id 从最后一个 id 继续。因此,如果我在初始迁移时播种 10 行,我会得到 1 到 10。没问题。如果重新播种,我会得到 id 11-21。

这是有问题的,因为我通过 ID 访问文章,http://localhost/article/1 (Route::get('article/{id}'.. .) 但是显然已经没有ID为1了,第一篇文章ID现在是11了。

为了解决这个问题,我创建了第二个名为 article_idid 列:$table->primary('article_id')->unsigned(); 作为主键,所以 Laravel 会查询它。

  • 现在这会导致问题,因为在文章插入时,我需要一些方法来自动递增 ID。
  • 有第二个 id 列似乎是不必要的,也是制作模式的糟糕方法

我确定这是一个常见问题 - 我想知道如何解决这个问题。

最佳答案

DB::table('articles')->truncate();

将删除 articles 的全部内容并重置其增量 ID。

出于显而易见的原因,非常确定这不能在生产中调用。 :-)

关于php - 使用自增 ID 作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30057179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com