争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

ubuntu 16.04/MySQL/laravel进行数据库插入的时候出现出错

时间:2024/7/10作者:未知来源:争怎路由网人气:

环境:ubuntu 16.04/MySQL 5.7.16/laravel5.4
 
今天使用laravel 进行数据库插入的时候,出现下列信息报错:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'staff_info.depart_id' in 'where clause' (SQL: insert into `staff_infos` (`id`, `depart_id`, `duty_id`, `staff_name`, `phone`, `education`, `sex`, `idcode`, `email`, `major`, `address`, `native_place`, `birth_time`, `nation`, `poli_status`, `graduated_time`, `enter_department`, `educated_school`, `updated_at`, `created_at`) values (*********, 001, 001, liuxiaohua,********, bachelor, female,***********, *********@qq.com, jisuanji, anlida, guangdong)
 
我找了很长时间,也看了很多博客,发现我遇到的Column not found: 1054 Unknown column '******' in 'where clause'错误大多都是定义或使用的时候没有出现该字段造成的.
 
一般来说,我目前遇到过的有这么几种情况:
1.使用表的表名或字段名称与定义时不一致
2.定义触发器时的引用名称没有与先前定义的表或字段名对应起来
3.由于我使用了laravel框架进行开发,特别值得注意的是,在定义model的可填写字段中,可填写字段是以将字段名用引号括起来变成字符串传参的,一不小心就会将$fillable='id'写成$fillable=' id',多了一个空格就会引起使用字段与定义字段不匹配的问题.
 
而我刚刚上面的错误信息是因为我将表名改动后,忘记改动触发器的定义了,所以改写定义触发器语句就得到解决了.
 
以上只是我个人进行开发时所遇到的问题,欢迎纠正补充.
 


关键词:ubuntu 16.04/MySQL/laravel进行数据库插入的时候出现出错




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版