mysql - 每次我创建不同的增量
问题描述
所以我有这张桌子。我想创建具有不同 ID 的项目,但它必须在同一个表中,所以我制作了 2 个不同的 ID 类型。
|--------------------------------------|
|id | idtype1 | idtype2 | Project_name |
|--------------------------------------|
如果我用 idtype1 创建一个项目,idtype1 会增加,但 idtype2 仍然
|--------------------------------------|
|id | idtype1 | idtype2 | Project_name |
|--------------------------------------|
| 1 | 1 | 0 | name1 |
| 2 | 2 | 0 | name2 |
|--------------------------------------|
但是如果我用 idtype2 创建一个项目,它会做相反的事情
|--------------------------------------|
|id | idtype1 | idtype2 | Project_name |
|--------------------------------------|
| 1 | 1 | 0 | name1 |
| 2 | 2 | 0 | name2 |
| 3 | 0 | 1 | name3 |
| 4 | 0 | 2 | name4 |
|--------------------------------------|
这可能吗 ?如何 ?
解决方案
听起来您想要三列:id、idtype1 和 idtype2 都自动递增?如果是这样,您可以在迁移中定义它 $table->increments('idtype1'); 如https://laravel.com/docs/master/migrations中所述。但是,值得注意的是,所有三列将始终具有彼此相同的值,因此您可能需要重新考虑为什么需要所有三列。
idtype1 和 idtype2 非常模糊,不传达任何含义。这些代表什么?如果您能以他们的名义传达他们所代表的内容,事情将会有所改善。
这些id是其他表中的相关记录吗?如果是这样,您应该使用其他表名来命名它们,例如 type_id 或 address_id。
然后,您还可以考虑设置外键信息,以便数据库了解关系并帮助您强制执行完整性。
推荐阅读
- python - pymongo 是异步的吗?
- python - IEX API技术指标批量调用
- mongodb - 如何通过 r2d2 和 actix 在 MongoDB 中保存文档?
- laravel - SQLSTATE [42804] 尝试 heroku 运行 php artisan migrate 时出错
- c++ - C::* 在 typename 参数中是什么意思
- android - 带有服务定位器的 Android MVVM
- javascript - 如何在基于 xy 坐标的 Javascript 中以编程方式单击按钮
- c - 为什么我不能在这里使用 &
- python - 定义一个替换下一个单元格内容的 IPython 魔法
- javascript - 无法从数组Vuex中删除项目