我必须更改数据库中的表格,以使primary key
不是标准increments
。
这是迁移,
public function up()
{
Schema::create('settings', function (Blueprint $table) {
$table->text('code', 30)->primary();
$table->timestamps();
$table->text('name');
$table->text('comment');
});
}
然而,MySQL一直在返回,
语法错误或访问冲突:1170 BLOB / TEXT列'代码'用于 没有密钥长度的密钥规范(SQL:alter table
settings
添加主键settings_code_primary
(code
)
我已经尝试将正常的increments
id
留在那里并在不同的迁移中修改表格,但同样的事情发生了。
我做错了什么想法?
Laveral Version 5.4.23
答案 0 :(得分:12)
将其更改为字符串。
$table->string('code', 30)->primary();