반응형
golang을 사용하여 mysql 데이터베이스에 데이터를 삽입하려고합니다. 내 값이 빈 문자열을 사용하는 경우 null을 삽입하고 싶습니다. 빈 문자열 대신 null을 삽입하려면 다음을 어떻게 조정할 수 있습니까? 감사.
_, 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)
해결 방법
func NewNullString(s string) sql.NullString {
if len(s) == 0 {
return sql.NullString{}
}
return sql.NullString{
String: s,
Valid: true,
}
}
그런 다음 Exec
를 사용할 때마다 DB에서 NULL이 될 수있는 문자열을 NewNullString
함수로 래핑합니다.
db.Exec(`
insert into
users first_name, last_name, email
values (?,?,?)`,
firstName,
lastName,
NewNullString(email),
)
참조 페이지 https://stackoverflow.com/questions/40266633
반응형
'MySql' 카테고리의 다른 글
MySQL timestamp select date range (0) | 2020.11.01 |
---|---|
MySQL에서 ASCII가 아닌 문자를 어떻게 찾을 수 있습니까? (0) | 2020.11.01 |
MySQL Simple way to automatically convert INSERT statements to UPDATEs? (0) | 2020.11.01 |
MySQL 동일한 열에서 여러 WHERE 조건으로 선택 (0) | 2020.11.01 |
MySQL CentOs 5.5에 Sphinx를 설치하려면 어떻게하나요? (0) | 2020.11.01 |
댓글