我是靠谱客的博主 开朗面包,最近开发中收集的这篇文章主要介绍golang mysql 自动建表_如何用golang在mysql的表格创建自定义的字段,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代码

stmt, err := db.Prepare(“alter table user add column birth varchar”)

这是在user里面创建一个birth的字段

我能成功运行的

但是我想搞个自定义的字段

代码

stmt, err := db.Prepare(“alter table user add column birth=? varchar”)

if err != nil {

log.Fatal(err)

}

res, err := stmt.Exec(user.Biaotou)

就会报错

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 ‘=? vaechar’ at line 1

英文看的懂 他说语法问题大概

那么==!

正确的语法是?

补1

说的太不具体了

我是要做一个用户管理系统

前端要求自定义用户信息(详细管理之类的

但是

联系到后端golang的时候

我却不会自定义字段

mysql的添加字段我会

试了很久我还是不会

从前端那里接收字段

后端操作数据库添加字段

可以肯定连接是没问题的

难道golang不能往数据库添加从前端接收的字段?

补2

感谢2楼

确实可以增加自定义的表头

但是想在里面直接加数据我就不行了

按二楼那样改成这样

res, err := db.Exec(fmt.Sprintf(“alter table user add column %s VARCHAR(128)”, user.Biaotou))

if err != nil {

log.Fatal(err)

}

stmt, err := db.Exec(fmt.Sprintf(“UPDATE user SET %s=%d WHERE username=%f”, user.Biaotou, user.Data, user.Username))

if err != nil {

log.Fatal(err)

}

但是依然报错啊

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 ‘%!d(string=2) WHERE username=%!f(string=2)’ at line 1

补3

但是update用db.prepare我要用%s代user.biaotou

这样就不符合db.prepare的格式了

新手基本就知道db.prepare db.Query() stmt.Exec()…..

格式化信息?

试了下

stmt, err := db.Exec(fmt.Sprintf(“UPDATE user SET %s=? WHERE username=?”, user.Biaotou, user.Data, user.Username))

还是不行….

或者

fmt.Sprintf(“UPDATE user SET %s=? WHERE username=?”, user.Biaotou)

stmt, err := fmt.Exec(user.Data, user.Username)

感觉第二个比较接近正确的

但是fmt 和 stmt那里绝对是错了

补4

我自己解决了

果然是你说的那样

但是

我把他分成两个函数

一个实现了增加表头

一个实现了往增加表头里面增加数据

能不能把他们放在同一个函数里面?

但是放在同一个函数里面

stmt res db 不够用….

新手不懂他们的区别

求助

最后

以上就是开朗面包为你收集整理的golang mysql 自动建表_如何用golang在mysql的表格创建自定义的字段的全部内容,希望文章能够帮你解决golang mysql 自动建表_如何用golang在mysql的表格创建自定义的字段所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部