我的表名是customers
列是mail
我试过语法
public function down()
{
Schema::table('customers', function (Blueprint $table) {
$table->dropUnique('mail');
$table->string('mail',255)->change();
$table->string('first_name',255)->change();
$table->string('first_name_reading',255)->change();
$table->string('last_name',255)->change();
$table->string('platform',255)->change();
});
}
但它不起作用。
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'mail'; check that column/key exists (SQL: alter
table `customers` drop index `mail`)
你能帮我个忙吗?
请,
答案 0 :(得分:2)
更有趣的是,您可以将数组参数传递给dropUnique
函数,Laravel将为您生成正确的名称。试试这个:
$table->dropUnique(['mail'])
。
参考the manual。
答案 1 :(得分:1)
打开mysql控制台并获取customers表的正确索引键名称,并将其与代码$table->dropUnique('correct_name');
SHOW INDEX FROM customers;