hanchuanchuan / goInception

一个集审核、执行、备份及生成回滚语句于一身的MySQL运维工具
https://hanchuanchuan.github.io/goInception/
GNU General Public License v3.0
1.62k stars 553 forks source link

insert select * 执行不成功 #656

Closed sgjr closed 3 months ago

sgjr commented 3 months ago

描述 使用goinception 执行 insert select 语句,如果select * 则执行不成功,且不报错。指定select 的字段 ,例如 select id,k,c,pad 可以成功。 goinception版本为1.3.0-68

image

重现

sql_execute()


- select * 的执行情况, 实际sbtest001.t0612并未写入数据

((1, 'CHECKED', 1, 'Audit Completed', 'Select only star is not allowed.', 'insert into sbtest001.t0612 select * from sbtest001.sbtest6', 0, '0_0_00000000', None, '0', None, '0'),)


- select id,k,c,pad 的执行情况,符合预期

((1, 'EXECUTED', 0, 'Execute Successfully', None, 'insert into sbtest001.t0612 select id,k,c,pad from sbtest001.sbtest6', 10000, '1718175254_3629333_00000000', None, '0.206', None, '0'),)


**环境**
 - 数据库: [mysql]
 - 版本: [例如 5.7.30]

**参数**
可能与问题相关的设置参数

er_select_only_star = 1

zmix999 commented 3 months ago

建议用enable_select_star这个参数

sgjr commented 3 months ago

建议用enable_select_star这个参数 确实在配置文件中添加就可以了,默认没有这个参数

enable_select_star = true