Nit*_*mar 6 php json mariadb laravel laravel-5.4
我正在尝试在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();
});
Run Code Online (Sandbox Code Playgroud)
现在执行此操作时,我遇到以下错误:
SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与您的MariaDB服务器版本对应的手册,以便在第1行使用'json null,
contentjson null,scriptsjson null,deleted_attimestamp null' 附近的正确语法(SQL:create tablepages(idint unsigned not null auto_increment primary key,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)
即使我保持不为null,它也会抛出相同的错误.我想要json格式的数据,我检查了支持的版本,并根据文档json格式支持从版本开始MariaDB 10.0.16.,我正在使用10.1.21-MariaDB
帮助我解决这个问题.
请注意,1064 抱怨数据类型“json”。MariaDB 中尚未实现这一点。
您可以接近Dynamic Columns,它至少有一种将它们提取到 JSON 语法中的方法。
另一件事(可能是您所指的)是CONNECT能够拥有 JSON表类型。(不是列类型。)
MySQL 5.7 有一个名为 的数据类型JSON,以及一堆操作此类数据的函数。
| 归档时间: |
|
| 查看次数: |
8342 次 |
| 最近记录: |