您现在的位置是:网站首页>软件开发>开发终端>thinkphpthinkphp

save()时提示报错数据已经存在,不能重复添加

风口下的猪2019-06-09thinkphp

简介

 错题症状

在涉及到要插入数据到数据表,并且要验证插入数据的项目中,经常使用模型的验证

即$result=$this->validate('admin')->save($date);

即验证$data数据并将其插入到本模型绑定的数据表中


 错题分析

       我们分析save()方法可以得知,save()有两个参数,一是插入的数据,二是插入的位置。当第二参数没写时,默认从第一个位置插入,即主键为1的列。

       这时,如果之前测试运行时插入了第一个值,save()执行时就会报错,提示在第一列已经有数据,不能重复插入。

       这时,问题的症结在与数据表能不断地给save()提供不同的第二个参数,让save()插入有机可循。即让数据表的主键实现“自增”功能。每插一条数据,主键增加,为save()提供储存空间。

 错题解决方案

进入到数据库中,给模型绑定的数据表主键添加“自增属性”

即执行sql语句:

alter table bu_staff modify face_id int(11) auto_increment;给face_id 增加auto_increment 属性

很赞哦! (0)

  • 软件开发
  • 素质要求
  • 计算机基础
  • 架构
  • 安全
  • 性能
  • 运维
  • 尾页
  • 数据库
  • 开发终端
  • 语言基础
  • 项目管理
  • 产品设计
  • 系统
  • 工作规范
  • 计算机网络
  • 前端技术栈
  • 数据结构
  • 计算机组成原理
  • 后端技术栈
  • 性能优化
  • 安全设计
  • 常见模块
  • 计算机操作系统
  • 服务器
  • python
  • MySQL
  • thinkphp
  • PHP
  • Java
  • JavaScript
  • Windows
  • Linux
  • 特效
  • indexedDB
  • vue
  • 淘宝联盟
  • Ionic
  • Angular
  • 微信小程序
  • 支付宝小程序
  • uni-app
  • css/sass/less
  • 支付
  • socket
  • 爬虫
  • web性能优化
  • 消息推送
  • CVM
  • sqlite
  • Redis
  • 前端基础
  • 基础
  • element
  • Nginx
  • yii2
  • /ponder/index.php/index/catelist/catelist/cateid/10.html

    相关阅读 (同一栏目)

    << /

    标签云

    站点信息

    • 文章统计:528篇
    • 移动端访问:扫码进入SQ3R