首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拉勒维尔的迁徙

问拉勒维尔的迁徙
EN

Stack Overflow用户
提问于 2018-12-17 10:20:58
回答 3查看 1.1K关注 0票数 3

在迁移表时,我收到了一个错误。错误说

SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法中有一个错误;检查与您的MariaDB服务器版本对应的手册,以获得正确的语法,以使用接近'json,start_date date not null,end_date date not null,status enum(第1行: create table modules (id int unsigned not null auto_increment主键,title varchar(191) null,description text null,image blob null,resources json null,start_date日期null,end_date日期null,d12enum(“未决”,'start‘),‘完成’)非空默认值‘未决’,user_id int不为空,created_at时间戳为空,updated_at时间戳为空)默认字符集utf8mb4排序规则'utf8mb4_unicode_ci')

我的表有以下值:

代码语言:javascript
复制
public function up()
    {
        Schema::create('modules', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->text('description');
            $table->binary('image')->nullable();
            $table->json('resources')->nullable();
            $table->date('start_date');
            $table->date('end_date');
           $table->ENUM('status',['pending','start','completed'])->default('pending');
            $table->integer('user_id');
            $table->timestamps();
        });
    }

这是我的模型代码:

代码语言:javascript
复制
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

    class modules extends Model
    {
        protected $fillable = [
            'title', 'description','image','resources', 'start_date','end_date','status','user_id',
        ];
    }

有人能找到解决办法吗??

EN

回答 3

Stack Overflow用户

发布于 2018-12-17 10:30:59

从Laravel开始,$table->json()方法将尝试在数据库中创建一个实际的JSON字段。但是,直到MySQL MySQL 5.7.8才将JSON字段添加到JSON中。

因此,如果在使用MySQL之前使用5.7.8版本,则只需将其创建为文本字段

MariaDB新版本支持JSON。(阿尔法版本。玛丽亚不推荐生产服务器。(只有测试。)

MariaDB 10.1不支持JSON

票数 3
EN

Stack Overflow用户

发布于 2018-12-17 10:32:04

早期版本的maria db不支持json字段类型,请参阅链接https://mariadb.com/resources/blog/json-with-mariadb-10-2/。

请验证您的mariadb版本。

票数 3
EN

Stack Overflow用户

发布于 2018-12-17 11:50:09

可能会添加$casts类属性来解决问题。

代码语言:javascript
复制
class modules extends Model
{
    protected $casts = [
        'resources' => 'array',
    ];
}

这里可能对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53813145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档