Próbuję wstawić dane do bazy danych mysql za pomocą golang. W przypadku, gdy moja wartość przyjmuje pusty ciąg, chciałbym wstawić wartość zerową. Jak mogę dostosować następujące elementy, aby wstawić wartości null zamiast pustego ciągu? Dzięki.Golang Wstaw NULL do sql zamiast pustego łańcucha
_, err := m.Db.Exec(`INSERT INTO
visitor_events
(type,
info,
url_path,
visitor_id,
created_at,
domain)
VALUES
(?, ?, ?, ?, ?, ?)`,
m.SaveEventType(ve), ve.EventInfo, m.SaveURLPath(ve.UrlPath), ve.VisitorId, time.Now().UTC(), ve.Domain)
Dlaczego nie zwrócisz funkcji 'NewNullString (..)' return 'interface {}', więc jeśli 's' nie jest pustym łańcuchem, możesz zwrócić go bez zawijania do' sql.NullString'? – slomek
@slomek Stwierdziłbym, że jest to mylące, jeśli funkcja o nazwie 'NewNullString' nie zwróciła typu o nazwie NullString. – jmaloney
Zmieniłbym nazwę tej funkcji, ponieważ zwracanie czegoś innego niż rzeczywista wartość Null wydaje się teraz mylące. Nie zrozumcie mnie źle, to jest po wszystkim poprawna odpowiedź, po prostu się zastanawiam;) – slomek