mirror of
https://github.com/Kakune55/Pixel.git
synced 2025-05-06 18:29:25 +08:00
84 lines
1.3 KiB
Go
84 lines
1.3 KiB
Go
package database
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
func Initdb() {
|
|
db, err := sql.Open("sqlite3", "./data/database.db")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
// 创建表的SQL语句
|
|
createTableSQL := `
|
|
CREATE TABLE IF NOT EXISTS mytable (
|
|
link TEXT PRIMARY KEY,
|
|
md5 TEXT NOT NULL
|
|
);
|
|
`
|
|
|
|
_, err = db.Exec(createTableSQL)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func NewFile(linkID string, md5 string) {
|
|
db, err := sql.Open("sqlite3", "./data/database.db")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
// SQL语句
|
|
SQL := `
|
|
INSERT INTO "main"."mytable" ("link", "md5") VALUES (?, ?)
|
|
`
|
|
|
|
stmt, err := db.Prepare(SQL)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
_, err = stmt.Exec(linkID,md5) //插入记录
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func GetFileInfo(linkID string) string {
|
|
db, err := sql.Open("sqlite3", "./data/database.db")
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer db.Close()
|
|
|
|
// SQL语句
|
|
SQL := `
|
|
SELECT * FROM "mytable" WHERE link = ?
|
|
`
|
|
|
|
row := db.QueryRow(SQL,linkID)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// 扫描查询结果
|
|
var md5 string
|
|
var linkIDx string
|
|
err = row.Scan(&linkIDx,&md5)
|
|
if err != nil {
|
|
if err == sql.ErrNoRows {
|
|
return ""
|
|
} else {
|
|
log.Fatal(err)
|
|
}
|
|
return ""
|
|
}
|
|
return md5
|
|
} |