Comments (9)
It is a problem. The current workaround is adding a white space like you said. I'll fix it later. And contribution is welcome😆
from gendry.
@jingyugao In your case:
select {{name}},{{comment}},value from table
I want to know why your select fields are dynamic. Is there any use case that people can't set their select fields?
from gendry.
@jingyugao I found that
The markers in prepared statements are not allowed for identifiers (such as table or column names)
So can you execute select ? from table_a
?
from gendry.
The markers are legal only in certain places in SQL statements. For example, they are permitted in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value. However, they are not permitted for identifiers (such as table or column names), or to specify both operands of a binary operator such as the = equal sign. The latter restriction is necessary because it would be impossible to determine the parameter type. In general, parameters are legal only in Data Manipulation Language (DML) statements, and not in Data Definition Language (DDL) statements.
from gendry.
The marker is not identifiers. It is variable such as 1,"mysql" and so on.
`package main
import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
func main() {
db, err := sqlx.Connect("mysql", "root:@tcp(127.0.0.1:3306)/db0")
if err != nil {
panic(err)
}
id := []int64{}
db.Select(&id, "select ? from table0", 2)
fmt.Println(id)
}`
from gendry.
190701 8:30:32 4 Connect [email protected] on db0
4 Prepare select ? from table
4 Execute select 2 from table
4 Close stmt
from gendry.
this is the mysql log
from gendry.
Ok,明天上午之前修复这个问题
from gendry.
@jingyugao fixed, see the latest release
from gendry.
Related Issues (20)
- scanner.Scan返回错误码 HOT 3
- buildDelete不支持limit操作 HOT 1
- 请问下, BuildInsertOnDuplicate方法支持如下的sql吗? HOT 3
- 支持force index操作吗
- "[scanner]: empty result" HOT 4
- 请问可以支持UNION ALL语句吗? HOT 1
- 支持多个 or 查询 HOT 1
- scanner在go继承模式下,无法scan到父级tag HOT 1
- 请求打个最新版本的tag HOT 1
- mysql传limit句柄错误 HOT 9
- 您好,支持 IS NOT NULL吗?在文档里没有看到 HOT 2
- 对rows进行scan后, 需要检查err
- scan不支持结构体嵌套赋值
- where语句中两列数据相互比较,如何正确声明查询条件呢? HOT 5
- scan 对于继承的struct不生效 HOT 1
- ctx超时或取消情况下,scanner.Scan()方法会把err吞掉,不返回err,导致读出的数据不全
- map[string]interface{} support between ? and ? HOT 2
- buildInsert 对于mysql 5.7升级mysql 8.0 , 用到mysql 8.0关键词的人不友好, HOT 15
- [proposal] Support _custom HOT 1
- 请问这个有考虑增加1. 事务相关、2. debug模式打印sql之类的功能吗? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gendry.