【问题标题】:October CMS - Data too long for column 'content' at row 1十月 CMS - 第 1 行的“内容”列的数据太长
【发布时间】:2018-08-19 13:59:09
【问题描述】:

我在将字段保存到数据库时出错,这给了我错误:字符串数据,右截断:1406 数据太长,第 1 行的列“内容”。

但是,数据库中的字段设置为类型:字符串,长度为 191。我相信这会转换为 varchar。

其他人有这个吗?

【问题讨论】:

  • 使用文本字段作为数据类型
  • 但它有 html...
  • $table->text('content');
  • 有什么问题,我的意思是在输入中有 HTML
  • 你到底在问什么?

标签: mysql laravel octobercms


【解决方案1】:

https://stackoverflow.com/a/13182846/2693543

从上面的答案复制

VARCHAR(X) 大小写:用户名、电子邮件、国家、主题、密码

TEXT 案例:消息、电子邮件、cmets、格式化文本、html、代码、 图片、链接

MEDIUMTEXT 案例:大型 json 正文、中短篇书籍、csv 字符串

LONGTEXT 案例:教科书、程序、多年的日志文件、哈利波特 和火焰杯,科学研究伐木

【讨论】:

    【解决方案2】:

    在您的迁移文件中使用它,它将更改您的列数据类型,然后您可以毫无问题地将 html 内容保存到其中。

    public function up()
    {
        Schema::table('the_table_name', function () {
            $table->longText('columnName')->change();
        });
    }
    
    public function down()
    {
        Schema::dropIfExists('the_table_name');
    }
    

    【讨论】:

      【解决方案3】:

      您应该将帖子或页面内容(包含大量文本/html 的内容)存储为 String

      改为使用TEXT 作为 MySQL 列类型,这样可以在其中输入足够多的字符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-07
        • 2020-03-04
        • 2018-12-01
        • 2014-02-26
        • 2017-01-17
        • 2018-10-19
        • 2022-11-26
        • 2016-06-07
        相关资源
        最近更新 更多