【发布时间】:2020-03-17 11:47:55
【问题描述】:
我正在尝试使用 Laravel 迁移来更改列数据类型。但我面临以下错误。请帮帮我。
Schema::table('files', function(Blueprint $table) {
$table->integer('app_id')->change();
$table->index(['app_id', 'filename']);
});
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATE
utf8_unicode_ci”附近使用正确的语法(SQL:ALTER TABLE files CHANGE app_id app_id INT CHARACTER SET utf8 DEFAULT 0 NOT NULL整理utf8_unicode_ci)
【问题讨论】:
-
不适用于以下 $table->integer('app_id')->change();当我将字符串转换为整数 CHARACTER SET utf8 时自动添加。这个怎么去掉?
-
你的 laravel 项目中有
doctrine/dbal包吗? -
是的,我有学说/dbal。
-
我没有改变任何东西。这是一个全新的安装