DATETIME ์ด์ด ์๋ ํ
์ด๋ธ์ "0" time.Time ๊ฐ์ฒด๋ฅผ ์ฝ์
ํ๋๋ฐ Incorrect datetime value: '0000-00-00' for column
์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๋ ์ฝ๋๋ ์คํจํฉ๋๋ค.
package main
import (
"database/sql"
"log"
"time"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, _ := sql.Open("mysql", "root:secret@(127.0.0.1:3306)/test")
_, err := db.Exec("CREATE TABLE IF NOT EXISTS daty (col DATETIME)")
if err != nil {
log.Panicf("Failed create: %s", err)
}
_, err = db.Exec("INSERT INTO daty (col) VALUES (?)", time.Time{})
if err != nil {
log.Panicf("Failed insert: %s", err)
}
}
time.Time{}
๋ฅผ time.Now()
๋ก ๋ฐ๊พธ๋ฉด ์ฝ๋๊ฐ ์คํจํ์ง ์์ต๋๋ค.
*๋๋ผ์ด๋ฒ ๋ฒ์ (๋๋ git SHA): 9181e3a86a19bacd63e68d43ae8b7b36320d8092(๋ง์คํฐ)
*Go ๋ฒ์ : go ๋ฒ์ go1.9 linux/amd64
*์๋ฒ ๋ฒ์ : mysql 8.0.3, 5.7.20
*์๋ฒ OS: ํ๋๋ผ 26
๊ทธ๊ฒ์ MySQL์ ์ฌ์์ด๊ณ ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ฒ์ ์์ต๋๋ค.
MySQL์์๋ ์ ํจํ ๋ ์ง/์๊ฐ๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ทธ๊ฒ์ MySQL์ ์ฌ์์ด๊ณ ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ๊ฒ์ ์์ต๋๋ค.
MySQL์์๋ ์ ํจํ ๋ ์ง/์๊ฐ๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์๋
ํ์ธ์, ๊ฐ์ฌํฉ๋๋ค!
๋์ TIMESTAMP๋ฅผ ์ฌ์ฉํ๋ฉด ํจ๊ณผ๊ฐ ์์ต๋๊น?
์ด๊ฒ์ MySQL ์ฌ์ฉ์ ํฌ๋ผ์ด ์๋๋๋ค...
๋๋ MySQL ํ๋กํ ์ฝ์ ๋ํด ๋ง์ด ์๊ณ ์์ง๋ง MySQL์ ๋์์ ๋ํด์๋ ์ ๋ชจ๋ฆ ๋๋ค.
๊ด๋ จ ๋ฌธ์ : https://github.com/go-sql-driver/mysql/pull/346