什么是OpenTelemetry? OpenTelemetry合并了OpenTracing和OpenCensus项目,提供了一组API和库来标准化遥测数据的采集和传输。OpenTelemetry提供了一个安全,厂商中立的工具,这样就可以按照需要将数据发往不同的后端。
https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-operations.html
// 查询一条记录时, 不能使用类似if err := db.QueryRow().Scan(&…); err != nil {}的处理方式 // 因为查询单条数据时, 可能返回var ErrNoRows = errors.New(“sql: no rows in result set”)该种错误信息 // 而这属于正常错误
所有查询出来的字段都不允许有NULL, 避免该方式最好的办法就是建表字段时, 不要设置类似DEFAULT NULL属性
// 还有一些无法避免的情况, 比如下面这个查询
// 该种查询, 如果不存在, 返回值为NULL, 而非0, 针对该种简单的查询, 直接使用HAVING子句即可
// 具体的查询, 需要在编码的过程中自行处理
var age int32
err = db.QueryRow(`
SELECT
SUM(age) age
FROM user
WHERE id = ?
HAVING age <> NULL
`, 10).Scan(&age)
switch {
case err == sql.ErrNoRows:
case err != nil:
fmt.Println(err)
}
fmt.Println(age) } <!-- more --> https://studygolang.com/articles/9957