Как исправить ошибку "sql: Scan error on column index 1, name "i_size": converting driver. Value type int64 ("-10") to a uint8: invalid syntax" при использовании библиотеки SQLX и метода Get для извлечения данных из базы данных?
Значение из БД не сохраняется в поле типа uint, потому что значение "-10" не может быть преобразовано в тип данных uint. Тип uint представляет только положительные целые числа, включая ноль, и не допускает отрицательных значений. Поэтому при попытке преобразовать значение "-10" в тип uint происходит ошибка.
Для исправления ошибки можно использовать тип данных int64 вместо uint8 для поля "i_size" в структуре. Тип int64 допускает отрицательные значения и может корректно преобразовать значение "-10". Пример:
type MyStruct struct {
ISize int64 `db:"i_size"`
}
Теперь при использовании метода Get из библиотеки SQLX, значение "-10" будет успешно преобразовано в тип int64 и сохранено в поле ISize структуры MyStruct.
Гугл с ошибкой не помог :(
sql: Scan error on column index 1, name "i_size": converting driver. Value type int64 ("-10") to a uint8: invalid syntaxМожно попробовать еще прочитать ошибку или засунуть ее в гугл переводчик.
Проблема тут не с sqlx, а с тем, что ты хочешь запихнуть в поле uint отрицательное значение, на что база тебе выдает ошибку(так и должно быть). Если нужны отрицательные значения в базе то используй просто int