This question already has an answer here:
I'm trying to insert data into my new table, and I got sql error 1064.
CREATE TABLE IF NOT EXISTS `users` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`update` INT(11),
`name` VARCHAR(255),
`dob` INT(11),
`status` INT,
`avatar` VARCHAR(255),
`province` VARCHAR(255),
`city` VARCHAR(255),
`district` VARCHAR(255),
`village` VARCHAR(255),
CONSTRAINT `pk_users` PRIMARY KEY (id))
INSERT INTO `users` (`update`, `name`, `dob`, `status`,`avatar`,
`province`, `city`, `district`, `village`) VALUES (1557227442, Cortez Mante, 702086400, 1, http://lorempixel.com/150/150/, Provinsi, Kota, Kecamatan, Kelurahan)
And I got error:
$ panic: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Mante, 702086400, 1, http://lorempixel.com/150/150/, Provinsi, Kota, Kecamatan, ' at line 1
I don't know exactly what cause the error. can anyone help me with this ?
btw, I am using Golang for crating and inserting to this table.
this is how I connect to mysql and create the table through Go:
func connect() (db *sql.DB) {
dbDriver := "mysql"
dbUser := "root"
dbPass := "password"
dbName := "user"
db, err := sql.Open(dbDriver, dbUser+":"+dbPass+"@/"+dbName)
if err != nil {
panic(err.Error())
}
return db
}
func create_table() {
db := connect()
sql := fmt.Sprintf(
"CREATE TABLE IF NOT EXISTS `users` (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
"`id` INT UNSIGNED NOT NULL AUTO_INCREMENT",
"`update` INT(11)",
"`name` VARCHAR(255)",
"`dob` INT(11)",
"`status` INT",
"`avatar` VARCHAR(255)",
"`province` VARCHAR(255)",
"`city` VARCHAR(255)",
"`district` VARCHAR(255)",
"`village` VARCHAR(255)",
"CONSTRAINT `pk_users` PRIMARY KEY (id)")
fmt.Println(sql)
insert, err := db.Query(sql)
if err != nil {
panic(err.Error())
}
defer insert.Close()
}
this is how I insert the data:
func AddUser(u user.User) {
db := connect()
insert_users := "INSERT INTO `users` (`update`, `name`, `dob`, `status`, `avatar`, `province`, `city`, `district`, `village`)"
values_users := fmt.Sprintf(
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
strconv.Itoa(u.Update), u.Name, strconv.Itoa(u.Dob), strconv.Itoa(u.Status), u.Avatar, u.Province, u.City, u.District, u.Village)
sql := insert_users + " " + values_users
fmt.Println(sql)
insert, err := db.Query(sql)
if err != nil {
panic(err.Error())
} else {
fmt.Println("success add user:", u.Id)
}
defer insert.Close()
}
</div>