【发布时间】:2017-07-14 12:28:30
【问题描述】:
我正在尝试在 XAMP 中创建一个 json 数据库,在使用 phpmyAdmin 时它显示我正在使用 mariaDB,但在我的 xamp-control panel v3.2.2 中它显示正在运行 mySQL on port 3306。我正在使用 Laravel 5.4 框架来创建数据库,以下是我正在尝试执行的迁移:
Schema::connection('newPortal')->create('pages', function (Blueprint $table){
$table->increments('id');
$table->string('title');
$table->string('slug')->unique()->index();
$table->json('styles')->nullable();
$table->json('content')->nullable();
$table->json('scripts')->nullable();
$table->softDeletes();
$table->timestamps();
});
现在执行此操作时出现以下错误:
SQLSTATE[42000]: 语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 'json null、
contentjson null、scriptsjson null、deleted_attimestamp null' 附近使用正确的语法(SQL:创建表pages(idint unsigned not null auto_increment 主键,titlevarchar(191) not null,slugvarchar(191) not null,stylesjson null,contentjson null,scriptsjson null,deleted_attimestamp null,created_attimestamp null,updated_attimestamp null) 默认字符集 utf8mb4 collate utf8mb4_unicode_ci)
即使我保持不为空,它也会抛出相同的错误。我想要 json 格式的数据,我检查了支持的版本,并根据文档 json 格式支持从版本 MariaDB 10.0.16. 开始,我正在使用 10.1.21-MariaDB
帮我解决这个问题。
【问题讨论】:
-
您是否尝试过在数据库 GUI 或 REPL 中运行该查询,然后逐行注释查询的每个部分?它可能会阐明确切的问题是什么
标签: php json laravel mariadb laravel-5.4