php – 如何在Laravel 4中使用BIGINT作为自动递增主键

前端之家收集整理的这篇文章主要介绍了php – 如何在Laravel 4中使用BIGINT作为自动递增主键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图模仿wordpress’ primary key size这是BIGINT(20),但似乎laravel没有本地函数来做这个..我看到了page in the laravel forums并得到了这样的代码

$表 – > BIGINTEGER( ‘编号’) – >伯();

但是当我在工匠迁移期间尝试将外键附加到该id时,会抛出一个MysqL错误

[Exception]
sqlSTATE[HY000]: General error: 1005 Can’t create table ‘db.#sql-
1730_15’ (errno: 150) (sql: alter table users add constraint users_role_id_foreign foreign key (role_id) references roles (id)) (Bindings: array (
))

这样做的正确方法是什么?我在哪里弄错了?

谢谢!

最佳答案
您很可能忘记将role_id外键的类型也设置为BIGINT(20).这不是Laravel的问题,而是MysqL的问题.

顺便说一句,Laravel确实有一个本地功能来做到这一点:

$this->bigIncrements('id');

这需要使其无符号,自动增量和主键.

猜你在找的MySQL相关文章