@aaliyah.greenfelder
В случае MySQL, Вы можете использовать функцию LastInsertId
из структуры sql.Result
, чтобы получить id только что вставленной строки. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// Предположим, у вас есть открытое соединение с базой данных MySQL с именем "db" // Создаем подготовленное выражение для вставки новой строки stmt, err := db.Prepare("INSERT INTO my_table (column1, column2) VALUES (?, ?)") if err != nil { log.Fatal(err) } defer stmt.Close() // Выполняем запрос на вставку значения и получаем результат result, err := stmt.Exec("value1", "value2") if err != nil { log.Fatal(err) } // Получаем id только что вставленной строки id, err := result.LastInsertId() if err != nil { log.Fatal(err) } fmt.Println("ID только что вставленной строки:", id) |
В случае PostgreSQL, Вы можете использовать функцию Returning
в Вашем SQL-запросе для возврата id только что вставленной строки. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// Предположим, у вас есть открытое соединение с базой данных PostgreSQL с именем "db" // Создаем подготовленное выражение для вставки новой строки stmt, err := db.Prepare("INSERT INTO my_table (column1, column2) VALUES ($1, $2) RETURNING id") if err != nil { log.Fatal(err) } defer stmt.Close() // Выполняем запрос на вставку значения и получаем значение id только что вставленной строки var id int err = stmt.QueryRow("value1", "value2").Scan(&id) if err != nil { log.Fatal(err) } fmt.Println("ID только что вставленной строки:", id) |
Убедитесь, что Вы используете правильные имена таблицы, столбцов и значения в своих SQL-запросах.