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');

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

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。