当前位置: 首页 > 知识库问答 >
问题:

Laravel-SQL-SQLSTATE[01000]:警告: 1265行1中列'nsfw'的数据被截断

胡博艺
2023-03-14

我试图保护我的数据库中的一些数据,并获得以下错误:

SQLSTATE[01000]:警告:第1行“nsfw”列的1265数据被截断

nsfw列的标准值为0。那是我的桌子:

nsfw列也位于模型$fillable数组中。

我想检测是否选中了复选框。如果选中,则nsfw应为1。如果不是,则nsfw应为0。

这是复选框HTML代码:

 <div class="form-group">
             <label for="nsfw" class="control-label">NSFW</label>
             <br>
             <input type="checkbox" name="nsfw">
  </div>

这就是控制器代码:

 if (Input::get('nsfw')) {
       $nsfw = true;
 } else {
       $nsfw = false;
 }

 // dd($nsfw) gives me true or 
 //false back, depending if the checkbox is checked or not

 $thread = new Thread();
 $thread->name = Input::get('thread-name');
 $thread->description = Input::get('thread-desc');
 $thread->age_min = Input::get('thread-min-age');
 $thread->age_max = Input::get('thread-max-age');
 if ($nsfw == true) {
     $thread->nsfw = 1;
 } else {
     $thread->nsfw = 0;
 }
 $thread->save();

谢谢你的帮助,很抱歉我的英语不好!

共有3个答案

刘高峯
2023-03-14

另外,检查数据库列是否存在拼写错误,或者列中是否存在enum值。

蒯坚白
2023-03-14

当strict mode为true且出现错误时,表示代码中存在其他错误,例如错误的数据类型或拼写错误。

利奥的回答是对的。我只是想强调一下,您应该再次将严格模式重置为true。

耿和韵
2023-03-14

config/database.phpconnections.mysql设置严格为false,然后尝试再次运行它,如果你没有错误检查你是否有正确插入的数据。如果不这样做,那么您将输入错误类型的数据到所提到的列,因此将代码设置为将值存储为字符串:

if ($nsfw == true) {
  $thread->nsfw = '1';
} else {
  $thread->nsfw = '0';
}
 类似资料:
  • 您好,我正在尝试向mysql列添加数据,但在输入了一些数据后,它抛出了主题提到的错误

  • 在我的javaweb应用程序中,我将一些记录插入MySql数据库。我有一个列名“value”,其字段类型为float。当我将以下值76.8653846153846插入到数据库中时,它给出了在第1行为列“value”截断数据的异常。我将字段类型更改为Double,但消息相同。知道吗? 领域描述:

  • 在我的项目中,我使用了txtAdvance的关键事件 在最后一行运行之后,我添加了一个保存按钮来保存这些数据。下面给出了查询。 我正在截断第1行的列“advance”的MySql数据。advance的数据类型为Double。但我找不到办法来计算长度 (例如 列名:iid,数据类型:Int 我正在使用 MySQL 查询浏览器 。问题是当我向txt添加0值时,我遇到了这个错误。

  • 我有mysql中的表,表看起来像 当我试图使用 它抛出错误 错误代码: 1265年。第 1 行“拾取 ID”列的数据被截断 我正在使用MySQL 5.2

  • 我试图插入数据从ArrayList到一个mysql表Java,但是我一直得到以下错误:java.sql.SQLException:数据截断列'AAL'在第1行。 以下是一些代码: 任何帮助都非常感谢。

  • 问题内容: 在更改MySql列的数据类型以存储Twilio调用 ID(34个字符字符串)之后,我尝试使用以下方法手动更改该列中的数据: 但是,我看到一个错误,因为正确修改了列的数据类型,所以没有意义吗? 问题答案: 您的问题是,目前您的栏定义为应在何时。 要解决此问题,只需发出此命令即可将列的长度从1更改为34 这是 SQLFiddle 演示