mysql - 如何在原始查询 Laravel 中创建表?

标签 mysql laravel laravel-5

我正在尝试创建新的数据库,该数据库已成功创建,但该数据库中的某些表未创建。这个查询有什么问题吗?它说:

QueryException in Connection.php line 770: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CREATE TABLE activities ( id int(10) UNSIGNED NOT NULL, ' at line 3 (SQL: CREATE DATABASE institution_70 CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE TABLE activities ( id int(10) UNSIGNED NOT NULL, name varchar(150) COLLATE utf8_unicode_ci NOT NULL, created_at timestamp NULL DEFAULT NULL, updated_at timestamp NULL DEFAULT NULL, deleted_at timestamp NULL DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; )

DB::connection('rc')->statement("
    CREATE DATABASE institution_$institutionId CHARACTER SET utf8 COLLATE utf8_general_ci;

    CREATE TABLE `activities` (
      `id` int(10) UNSIGNED NOT NULL,
      `name` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
      `created_at` timestamp NULL DEFAULT NULL,
      `updated_at` timestamp NULL DEFAULT NULL,
      `deleted_at` timestamp NULL DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    ");

最佳答案

删除时间戳后的NULL

   CREATE TABLE `activities` (
      `id` int(10) UNSIGNED NOT NULL,
      `name` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
      `created_at` timestamp DEFAULT NULL,
      `updated_at` timestamp DEFAULT NULL,
      `deleted_at` timestamp DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

关于mysql - 如何在原始查询 Laravel 中创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56722705/

相关文章:

php - session 超时后 laravel csrf token 不匹配异常

php - Laravel SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row

php - Laravel Eloquent : Retrieving record via unique (non-id) values

php - 在php mysql排行榜表中显示用户排名?

php - 使用 PHP 在 AWS DynamoDB 中使用 JOIN 查询

mysql - 为一对多关系生成 SQL 查询

php - Laravel:命令中的依赖注入(inject)

MySQL:分组内排序?

php - 根据用户定义的时间运行特殊任务

php - Laravel 5 播种器类不存在