我试图模仿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 tableusers
add constraint users_role_id_foreign foreign key (role_id
) referencesroles
(id
)) (Bindings: array (
))这样做的正确方法是什么?我在哪里弄错了?
谢谢!
最佳答案
您很可能忘记将role_id外键的类型也设置为BIGINT(20).这不是Laravel的问题,而是MySQL的问题.顺便说一句,Laravel确实有一个本地功能来做到这一点:
$this->bigIncrements('id');
这需要使其无符号,自动增量和主键.