Php Laravel Migration-关键字名称太长,尽管只是;“测试”;;MySQL错误42000
迁移过程如下所示:Php Laravel Migration-关键字名称太长,尽管只是;“测试”;;MySQL错误42000,php,laravel,lumen,Php,Laravel,Lumen,迁移过程如下所示: <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateExtensiontablesRegistry extends Migration { /** * Run the migrations. *
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateExtensiontablesRegistry extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('extensiontables_registry', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('extensiontable_name')->nullable(false);//->unique();
$table->timestamps();
$table->unique('extensiontable_name', 'test');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('extensiontables_registry');
}
}
为什么呢?我的意思是,“test”不能是一个太长的键名,对吗?我也尝试过这种方法:
但它也没有帮助:(嗯,这可能不是一个“合适的”解决方案,但它对我有效:
只需下载一个包含mariaDB最新发行版的XAMPP版本,至少有一个版本高于10.1(如10.2等)。
以下是使用mariaDB 10.4的便携式XAMPP版本的链接:
好吧,这可能不是一个“合适”的解决方案,但它对我有效:
只需下载一个包含mariaDB最新发行版的XAMPP版本,至少有一个版本高于10.1(如10.2等)。
以下是使用mariaDB 10.4的便携式XAMPP版本的链接:
这是否回答了您的问题?@MCMXCII不幸的是,否:/您正在运行哪个版本的laravel?mysql驱动程序的版本是什么?您正在使用mariaDB吗?@N69S Im使用laravel Framework Lumen(6.2.0)(laravel组件^6.0)根据artisan.Im使用MariaDB的说法,是的,XAMPP:MariaDB的最新便携式发行版应该是这样的:欢迎使用MariaDB监视器。命令以;或结尾。您的MariaDB连接id是15服务器版本:10.1.38-MariaDB MariaDB.org二进制发行版与MariaDB 10.1有相同的问题,该版本修复了此问题回答您的问题了吗?@MCMXCII不幸的是,没有:/您正在运行哪个版本的laravel?mysql驱动程序的版本是什么?您正在使用mariaDB吗?@N69S Im使用laravel Framework Lumen(6.2.0)(laravel组件^6.0)根据artisan.Im使用MariaDB的说法,是的,XAMPP:MariaDB的最新便携式发行版应该是这样的:欢迎使用MariaDB监视器。命令以;或\g结尾。您的MariaDB连接id是15服务器版本:10.1.38-MariaDB MariaDB.org二进制发行版与MariaDB 10.1有相同的问题,此版本修复了它
In Connection.php line 669:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 767 bytes (SQL: alter table `extensiontables_reg
istry` add unique `test`(`extensiontable_name`))
In Connection.php line 463:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t
oo long; max key length is 767 bytes