package main
import (
"database/sql"
"fmt"
"log"
_ "github.com/go-sql-driver/mysql"
)
func main() {
dsn := "root:123456@tcp(127.0.0.1:3306)/mybatis_learn"
db, err := sql.Open("mysql", dsn)
if err != nil {
log.Fatalln("dsn错误", err)
}
err = db.Ping()
if err != nil {
log.Fatalln(err)
}
log.Println("数据库连接成功")
_, err = db.Exec(`CREATE TABLE IF NOT EXISTS diners (
diner_id INT AUTO_INCREMENT PRIMARY KEY, -- 食客ID,主键,自增
name VARCHAR(100) NOT NULL, -- 食客姓名,不能为空
phone_number VARCHAR(15), -- 联系电话
email VARCHAR(100) UNIQUE, -- 电子邮件,唯一
registration_date DATE NOT NULL, -- 注册日期,不能为空
address VARCHAR(255), -- 地址
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间,默认为当前时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 更新时间,自动更新
);`)
if err != nil {
log.Fatalln("创建表失败")
}
log.Println("创建表成功")
res, err := db.Exec(`INSERT INTO diners (name,phone_number,email,registration_date) values ("mikes","10085123213","meowrain@ssss.com",'2022-12-10');`)
if err != nil {
panic("插入失败")
}
insert_id, err := res.LastInsertId()
if err != nil {
panic(err)
}
fmt.Printf("插入成功,id: %d", insert_id)
// conn, err := db.Conn(context.Background())
}