Ich versuche, Daten in eine Mysql-Datenbank mit Golang einzufügen. In dem Fall, in dem mein Wert eine leere Zeichenfolge annimmt, möchte ich eine Null einfügen. Wie kann ich Folgendes anpassen, um Nullen anstelle von leeren Strings einzufügen? Vielen Dank.Golang NULL in sql statt leere Zeichenfolge einfügen
_, 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)
Warum machst du deine 'NewNullString (..)' Funktion nicht 'interface {}', so dass, wenn 's' keine leere Zeichenkette ist, du sie zurückgeben könntest, ohne sie in' sql.NullString' einzufügen? – slomek
@slomek Ich würde es verwirrend finden, wenn eine Funktion namens 'NewNullString' keinen Typ namens NullString zurückgibt. – jmaloney
Ich würde diese Funktion dann umbenennen, da die Rückgabe von etw anders als ein tatsächlicher Nullwert jetzt verwirrend scheint. Versteh mich nicht falsch, das ist nach all der richtigen Antwort, ich frage mich nur;) – slomek