【问题标题】:Not able to add 400 characters in mysql database无法在 mysql 数据库中添加 400 个字符
【发布时间】:2018-09-18 06:09:33
【问题描述】:

我正在尝试使用 laravel 在 mysql 数据库中存储 400 个字符的长密钥。 我在 laravel 迁移表中尝试过字符串、文本、长文本,但没有成功

我收到了这个错误

code
:
"22001"
message
:
"SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'api_token' at row 1 (SQL: update `users` set `api_token` = eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9lbnRyYW5jZWluZGlhLm5ldFwvYXBpXC9hdXRoZW50aWNhdGUiLCJpYXQiOjE1MjMyMjE4MTcsImV4cCI6NDY3NjgyMTgxNywibmJmIjoxNTIzMjIxODE3LCJqdGkiOiIzclFvNGpzMmg0aUZQcmRvIiwic3ViIjozMiwicHJ2IjoiODdlMGFmMWVmOWZkMTU4MTJmZGVjOTcxNTNhMTRlMGIwNDc1NDZhYSJ9.LxjArPNzTGqZh59JE4YN87oQUajfM28vyl2pnTokweA, `updated_at` = 2018-04-08 21:10:19 where `id` = 32)"
status_code
:
500

【问题讨论】:

  • 显示用户表定义。
  • 您也忘记了字段 api_token 值的单引号。
  • Schema::create('users', function (Blueprint $table) { $table->increments('id'); $table->string('fname'); $table-> string('lname'); $table->string('mobile')->unique(); $table->string('email')->unique(); $table->string('api_token',400 )->nullable();$table->rememberToken();$table->timestamps();

标签: mysql laravel


【解决方案1】:

可能是这个问题:

https://laravel-news.com/laravel-5-4-key-too-long-error

我遇到了类似的问题,并且在这篇文章中进行了更改,这样错误就消失了。

或者尝试像这样更改表格字段:

Schema::table('the_table_name', function (Blueprint $table) {
    $table->string('hotel', 255)->change();
});

取自here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2011-02-18
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多