golang pg数据库操作,insert(sql)插入一条数据后获返回当前插入数据的id --chatGPT

gpt:

在 PostgreSQL 数据库中,可以使用 `INSERT` 语句插入一条数据,并通过 `RETURNING` 子句来返回插入数据的 ID。以下是一个示例 Go 代码来执行这个操作:

```go
package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/lib/pq" // 导入 PostgreSQL 驱动
)

func main() {
    // 连接 PostgreSQL 数据库
    db, err := sql.Open("postgres", "user=username dbname=mydb sslmode=disable")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 插入数据并返回 ID
    var id int
    err = db.QueryRow("INSERT INTO your_table_name (column1, column2) VALUES ($1, $2) RETURNING id", "value1", "value2").Scan(&id)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("插入的数据的 ID 为: %d\n", id)
}
```

在这个示例中,首先使用 `sql.Open` 连接到 PostgreSQL 数据库。然后,我们使用 `db.QueryRow` 执行 `INSERT` 语句,并通过 `RETURNING id` 子句来返回插入数据的 ID。最后,使用 `Scan` 方法将返回的 ID 值扫描到 `id` 变量中,从而获取到插入数据的 ID。

请注意,你需要根据你的数据库连接信息和表结构修改代码中的连接字符串和 SQL 语句,以及替换 `your_table_name`、`column1` 和 `column2` 等部分为实际的表名和列名。此外,确保你已经导入了正确的 PostgreSQL 驱动库。

你可能感兴趣的:(数据库,sql)