oracle数据库update的场合,字段名中包含空格的时候,生成的update语句出错 #1756

Open
opened 2020-08-07 05:18:23 +00:00 by Kealuya_909 · 1 comment
updateNum, err := engine_to.Table(b.TableName).Where(where_sql).Update(up)

up是获取的[]map[string]interface{}类型。
"ALLOWONLYBOOK" "_FLAG" = :19 发生错误,后查实,数据库中字段是[ALLOWONLYBOOK _FLAG],下划线那里有空格。
麻烦了

生成的sql
UPDATE "" SET "STANDARDID" = :1, "ALLOWTAKEPLANE" = :2, "HOURSTANDARD_ENABLED" = :3, "TITLE" = :4, "ENDTIME" = :5, "ALLOWGREATERKM_FLAG" = :6, "ALLOWBOOKDISCOUNT_LOW" = :7, "ALLOWBOOKDISCOUNT_HIGH" = :8, "ALLOWTAKEPLANE_FLAG" = :9, "MODIFIER" = :10, "MODIFYTIME" = :11, "SPECIALIDS" = :12, "ALLOWBOOKHIGHEST" = :13, "ALLOWONLYBOOK" "_ENABLED" = :14, "ALLOWBOOKHIGHEST_FLAG" = :15, "CREATER" = :16, "ALLOWGREATERKM" = :17, "ALLOWONLYBOOK" = :18, "ALLOWONLYBOOK" "_FLAG" = :19, "ALLOWBOOKDISCOUNT_FLAG" = :20, "ALLOWBOOKDISCOUNT_ENABLED" = :21, "ID" = :22, "MAPPINGTYPE" = :23, "STARTTIME" = :24, "ALLOWTAKEPLANE_ENABLED" = :25, "CREATETIME" = :26, "HOURSTANDARD_FLAG" = :27, "ALLOWBOOKLOWEST" = :28, "ALLOWBOOKLOWEST_ENABLED" = :29, "DAYSTANDARD_FLAG" = :30, "ALLOWBOOKHIGHEST_ENABLED" = :31, "HOURSTANDARD" = :32, "DAYSTANDARD" = :33, "ALLOWBOOKLOWEST_FLAG" = :34, "STATUS" = :35, "ALLOWGREATERKM_ENABLED" = :36, "DAYSTANDARD_ENABLED" = :37 WHERE (STANDARDID = '1000000') [

``` updateNum, err := engine_to.Table(b.TableName).Where(where_sql).Update(up) ``` up是获取的[]map[string]interface{}类型。 "ALLOWONLYBOOK" "_FLAG" = :19 发生错误,后查实,数据库中字段是[ALLOWONLYBOOK _FLAG],下划线那里有空格。 麻烦了 生成的sql UPDATE "" SET "STANDARDID" = :1, "ALLOWTAKEPLANE" = :2, "HOURSTANDARD_ENABLED" = :3, "TITLE" = :4, "ENDTIME" = :5, "ALLOWGREATERKM_FLAG" = :6, "ALLOWBOOKDISCOUNT_LOW" = :7, "ALLOWBOOKDISCOUNT_HIGH" = :8, "ALLOWTAKEPLANE_FLAG" = :9, "MODIFIER" = :10, "MODIFYTIME" = :11, "SPECIALIDS" = :12, "ALLOWBOOKHIGHEST" = :13, "ALLOWONLYBOOK" "_ENABLED" = :14, "ALLOWBOOKHIGHEST_FLAG" = :15, "CREATER" = :16, "ALLOWGREATERKM" = :17, "ALLOWONLYBOOK" = :18, **"ALLOWONLYBOOK" "_FLAG" = :19**, "ALLOWBOOKDISCOUNT_FLAG" = :20, "ALLOWBOOKDISCOUNT_ENABLED" = :21, "ID" = :22, "MAPPINGTYPE" = :23, "STARTTIME" = :24, "ALLOWTAKEPLANE_ENABLED" = :25, "CREATETIME" = :26, "HOURSTANDARD_FLAG" = :27, "ALLOWBOOKLOWEST" = :28, "ALLOWBOOKLOWEST_ENABLED" = :29, "DAYSTANDARD_FLAG" = :30, "ALLOWBOOKHIGHEST_ENABLED" = :31, "HOURSTANDARD" = :32, "DAYSTANDARD" = :33, "ALLOWBOOKLOWEST_FLAG" = :34, "STATUS" = :35, "ALLOWGREATERKM_ENABLED" = :36, "DAYSTANDARD_ENABLED" = :37 WHERE (STANDARDID = '1000000') [
lunny added the
kind
bug
label 2020-08-07 11:50:35 +00:00
Owner

Why oracle support a column contains space ?

Why oracle support a column contains space ?
lunny added the
db
oracle
label 2021-06-06 13:16:46 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: xorm/xorm#1756
No description provided.