rei*_*hin 5 php mysql laravel laravel-4
我试图模仿wordpress'的主键大小,这是BIGINT(20),但似乎laravel没有本机功能来做这个..我在laravel论坛中看到一个页面,得到了这样的代码:
$table->bigInteger('id')->primary();
但是当我尝试在该期间附加一个外键时artisan migrate
,会抛出一个MYSQL错误:
[例外] SQLSTATE [HY000]:一般错误:1005无法创建表'db.#sql- 1730_15'(错误号:150)(SQL:alter table
users
add constraint users_role_id_foreign foreign key(role_id
)referencesroles
(id
))(Bindings:array ())
这样做的正确方法是什么?我在哪里弄错了?
谢谢!
rmo*_*bis 17
您很可能忘记将role_id外键的类型也设置为BIGINT(20).这不是Laravel的问题,而是MySQL的问题.
顺便说一句,Laravel确实有一个本地功能来做到这一点:
$this->bigIncrements('id');
Run Code Online (Sandbox Code Playgroud)
这需要使其无符号,自动增量和主键.