php - 如何使用 Laravel 迁移将字符串列类型转换为整数?
问题描述
我正在尝试使用 Laravel 迁移更改列数据类型。但我面临以下错误。请帮帮我。
Schema::table('files', function(Blueprint $table) {
$table->integer('app_id')->change();
$table->index(['app_id', 'filename']);
});
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以
utf8_unicode_ci
在第 1 行的“CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATE”附近使用正确的语法(SQL:ALTER TABLE files CHANGE app_id app_id INT CHARACTER SET utf8 DEFAULT 0 NOT NULL COLLATEutf8_unicode_ci
)
解决方案
作为https://github.com/doctrine/dbal/issues/3714的替代解决方案,它正在降级教义/dbal 包,您可以执行以下操作:
Schema::table('member_section', function (Blueprint $table) {
$table->bigInteger('type')->charset(null)->collation(null)->change();
});
推荐阅读
- angular - 如何用角度解决数据绑定错误
- r - 如何从假变为真
- laravel - Laravel - HTTP 客户端返回 403
- reactjs - 在 React 中从状态对象构建的表格行上显示两个按钮?
- apache - 在 localhost 上更改 Apache 侦听
- jasmine - 无法使用 Jasmine(量角器)定位元素
- javascript - 将来自 axios GET 调用的响应保存到 Firebase 函数的 JavaScript 部分中的 Firebase 数据库
- regex - 固定长度字符串的正则表达式,从数字 0 开始
- python - 从 GCP 云函数写入 GCP 数据存储区重定向到不需要的登录提示
- arrays - 使用 Google 表格过滤两列