- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
您好,我在 GO 中使用 database/sql 包,我想处理这个错误,最好的方法是什么?
rows, err := transaction.Stmt(MypreparedStmt).Exec(id)
if err!=nil{
// here I want to check if the error is something with the foreign key so I want something like
//if err==something{
//do something
//}
}
最佳答案
好问题!我最好的猜测是这是一个 github.com/lib/pq.Error
, 但您可以通过粘贴 fmt.Printf("%T\n", err)
来确认这一点在错误站点。离开这个假设,我们可以check the properties of this type :
type Error struct {
Severity string
Code ErrorCode
Message string
Detail string
Hint string
Position string
InternalPosition string
InternalQuery string
Where string
Schema string
Table string
Column string
DataTypeName string
Constraint string
File string
Line string
Routine string
}
太棒了!看起来我们有一个 ErrorCode
成员。然后我们可以检查 Postgres's error code list ,我们在哪里找到23503 | foreign_key_violation
.将所有这些放在一起,看起来您可以这样做:
const foreignKeyViolationErrorCode = ErrorCode("23503")
if err != nil {
if pgErr, isPGErr := err.(pq.Error); isPGErr {
if pgErr.ErrorCode != foreignKeyViolationErrorCode {
// handle foreign_key_violation errors here
}
}
// handle non-foreign_key_violation errors
}
注意:除了您尝试处理的错误之外,在“外键违规”一栏下可能还有其他错误情况。考虑探索 pq.Error
的其他领域结构以缩小您感兴趣的特定错误案例。
关于sql - GO 中这个错误 `update or delete on table "tablename"violates foreign key constraint"的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40398706/
1) "select * from `union` WHERE `thanaId`='$thana_id'" // it's working VS2) "select * from union
我的 SQL Server 2005 数据库中的某些表被命名为 lu.[TableName] 而不是 dbo.[TableName]。卢代表什么? 注意:我已经试过谷歌了 最佳答案 这将是 SQL S
我是使用 typescript 的新手,我正在使用 typescript 和 postgres 开发 API NodeJS。 我正在使用 docker 到 postgres,并且我有以下 docker
这个问题在这里已经有了答案: 关闭 13 年前。 Possible Duplicates: Select * vs Specifying Column Names Which is faster/b
我正在用 PHP PDO 编写一个用户注册函数,我发现我的查询只有这样写才能正常运行: setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION
我正在使用 JPA,我需要将“tableName”设为一个变量。 在数据库中,我有很多表,我的代码需要访问我指定要读取的表。 @Entity @Table(name = "tableName") pu
我关注了这个YouTube tutorial首先尝试使用无服务器框架开发无服务器 rest api。它给出了 MissingRequiredParameter 的错误并将初始化的表名称设置为未定义。
这个问题在这里已经有了答案: MySQL: NULL vs "" (12 个答案) MySQL, better to insert NULL or empty string? (6 个答案) 关闭
我目前正在学习 hibernate,无法从 oracle 获取数据。非常感谢任何帮助。 请找到下面的配置文件、pojo类和main方法... hibernate .cfg.xml
我的应用程序中有一个 JDBCAppender,我想为其设置 main argument lookup 中的 tableName 参数。 。原因是我的数据库表可以选择有一个前缀,所以我从应用程序中的配
您好,我正在尝试创建一个通用方法来从数据库中读取数据。这是我目前所拥有的: private static void GetData(string tableName, string key, stri
我通过一个网站和 html 5 视频标签,在家里制作了一个供个人使用的“电影”数据库,我轻松完成了该数据库,它包括一个索引页,列出了数据库中的所有电影,然后单击一个会将您链接到一个页面,该页面将在 h
我的 table 有这个问题。我想删除它但不起作用 我尝试删除 de .ibd 文件,他们将一些 frm 文件重命名为与 te ibd 相同的名称来删除表,但不起作用 当我删除表,然后再次创建它时,它
我在Windows 2008服务器上使用MySQL 5.1版本。当我执行以下查询时: SELECT * FROM tablename; It is taking too much time for f
最近我将一个 MySQL 数据库从一台服务器复制到另一台服务器。同时我已经从 Master DB 中清除了许多行。所以一段时间后复制正确完成。我验证了两个数据库中的数据计数,它是相同的。 之后,我只是
我正在编写一个锁定表的 MySQL 查询: "LOCK TABLE table_1 WRITE" 之后我执行了一些函数,在其中一个函数中,我在另一个我没有锁定的表上执行另一个查询: "SELECT *
我正在编写一个锁定表的 MySQL 查询: "LOCK TABLE table_1 WRITE" 之后我执行了一些函数,在其中一个函数中,我在另一个我没有锁定的表上执行另一个查询: "SELECT *
我想创建数据库并使用 Entity Framework ,但是当我运行我的 wpf 项目时,出现此错误。 2 个表出现此错误。在这里,我的错误: using (var c = new RSPDbCon
最好的方法是什么? 尝试过这样的事情: public String FormatColumnName(String columnName) { String formatedColumnNam
我在网上找不到这个问题的答案(可能是因为google不喜欢特殊字符),这种形式的查询是什么意思? Select tableName.* FROM tableName 我会说这就像 Select * f
我是一名优秀的程序员,十分优秀!