gpt4 book ai didi

laravel - 如何查找无效文本表示的列名 7 error invalid input syntax for integer in laravel?

转载 作者:行者123 更新时间:2023-11-29 11:31:17 25 4
gpt4 key购买 nike

例如,我有一张 table ......

create table emp(  
empno integer,
ename character varying(255),
job character varying(255),
mgr integer,
hiredate timestamp without time zone,
sal double pricision,
comm integer,
deptno integer
)

当我尝试插入数据时...

insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno) values (1,'abc','abc','e','2018-10-12 00:00:00',50.50,1,'f');

然后它给我一个错误 invalid text representation 7 error invalid input syntax for integer 因为我已经为 mgrdeptno 插入了字符串值> 这只能通过查看值才能找到,但 PostgreSQL 没有给我它遇到此类问题的确切列名。有什么方法可以在错误消息本身中获取列名。因为当我们有超过 50 到 60 列时,很难找到有问题的列。

最佳答案

您不必找出哪一列是错误的,因为您应该确保在插入数据库之前输入的格式正确。

您正在使用 Laravel,因此您应该利用它提供的强大工具集进行验证:https://laravel.com/docs/5.8/validation

例如,在您的情况下,您应该在 Controller 的开头使用以下规则来验证 mgr:

$request->validate([
'mgr' => 'number'
]);

如果不遵守规则,这将引发异常,因此当用户尝试输入数据时将失败,而不是当您的后端尝试将数据插入数据库时​​。

关于laravel - 如何查找无效文本表示的列名 7 error invalid input syntax for integer in laravel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52779547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com