SQLSTATE [42000]:语法错误或访问冲突:1064 默认字符集 utf8 在第 1 行整理 utf8_unicode_ci' [重复]

Posted

技术标签:

【中文标题】SQLSTATE [42000]:语法错误或访问冲突:1064 默认字符集 utf8 在第 1 行整理 utf8_unicode_ci\' [重复]【英文标题】:SQLSTATE[42000]: Syntax error or access violation: 1064 default character set utf8 collate utf8_unicode_ci' at line 1 [duplicate]SQLSTATE [42000]:语法错误或访问冲突:1064 默认字符集 utf8 在第 1 行整理 utf8_unicode_ci' [重复] 【发布时间】:2015-08-29 20:21:10 【问题描述】:

我正在尝试将此代码迁移到 mysql 数据库中,但一直收到此错误消息。

SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,以便在 ') 默认附近使用正确的语法 字符集 utf8 在第 1 行整理 utf8_unicode_ci'

public function up()
    
        Schema::create('user', function(Blueprint $table)
        
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password', 60);
            $table->rememberToken();
            $table->timestamps();
            $table->integer('projectId')->unsigned();
            $table->boolean('isStudent');
            $table->boolean('isCompany');
            $table->String('img');
        );

        Schema::create('user', function($table)
        
            $table->foreign('projectId')->references('id')->on('project');

        );


    

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    
        Schema::drop('user');
    

【问题讨论】:

也许是这个? $table->String('img'); 【参考方案1】:

对于第二种情况,使用Schema::table

欲了解更多信息,请参阅此处:https://***.com/a/28007930/938664

public function up()
    
        Schema::create('user', function(Blueprint $table)
        
            $table->engine = 'InnoDB';
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password', 60);
            $table->rememberToken();
            $table->timestamps();
            $table->integer('projectId')->unsigned();
            $table->boolean('isStudent');
            $table->boolean('isCompany');
            $table->string('img');

            $table->foreign('projectId')->references('id')->on('project')->onDelete('cascade');

        );


    

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    
        Schema::drop('user');
    

【讨论】:

解决了这个问题。谢谢!! @Alex 请接受这个作为答案或创建您自己的答案并接受它。 是的,解决方案是什么??【参考方案2】:

试试这个 Schema::table

public function up()

    Schema::create('user', function(Blueprint $table)
    
        $table->engine = 'InnoDB';
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password', 60);
        $table->rememberToken();
        $table->timestamps();
        $table->integer('projectId')->unsigned();
        $table->boolean('isStudent');
        $table->boolean('isCompany');
        $table->String('img');
    );

    Schema::table('user', function($table)
    
        $table->foreign('projectId')->references('id')->on('project');

    );




/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()

    Schema::drop('user');
 

【讨论】:

以上是关于SQLSTATE [42000]:语法错误或访问冲突:1064 默认字符集 utf8 在第 1 行整理 utf8_unicode_ci' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.8 SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误

SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL

Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064

带有消息“SQLSTATE [42000]”的未捕获异常“PDOException”:语法错误或访问冲突:

SQLSTATE [42000]:语法错误或访问冲突:1064 PHP/MySQL [关闭]

为啥我是 laravel 抛出 SQLSTATE[42000]:语法错误或访问冲突:1064 错误