mysql - 如何将一个值扫描为空而不处理它?
问题描述
在 Go 中,我正在尝试编写一个工具来处理 MySQL 表的结构,所以我必须使用很多这样的查询
show keys from`table`where`Key_name`='Primary'
在 MySQL 中,我不能用 select 命令包装这个命令并选择我想要的列,所以当我只想要一列(在这种情况下Column_name
)时,我如何处理我不想要的列?因为此查询也返回所有这些其他列;Table, Non_unique, Key_name, Seq_in_index, Column_name, Collation, Cardinality, Sub_part, Packed, Null, Index_type, Comment, Index_comment
.
在我的 Go 代码中,我的行看起来像这样
err = keysData.Scan(columnName)
如果我能做这样的事情会很酷
err = keysData.Scan(_, _, _, _, columnName)
但这并没有真正起作用,得到cannot use _ as value
我是否必须为这些不需要的列中的每一列声明丢弃值?
解决方案
我会使用 INFORMATION_SCHEMA。这比 SHOW KEYS 更通用,因为您可以选择单个列。例如:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_NAME='mytable' AND INDEX_NAME='PRIMARY'
ORDER BY SEQ_IN_INDEX
见https://dev.mysql.com/doc/refman/8.0/en/statistics-table.html
推荐阅读
- javascript - Javascript VS Objective-C VS Swift 中的经典继承与原型继承
- npm - npm 错误!在“...”附近解析时 JSON 输入意外结束:{“shasum”:“ae6c2edf”
- android - 如何解决工作管理器的多实例问题?
- laravel - React-Native TypeError: Undefined is not an object (评估 this.state.signatures.length)
- reactjs - 使用 ReactJS -> Express 还是使用 Express -> ReactJS 更好?
- python - Keras 给中间层输入,得到最终输出
- sql-server - SQL Server 可以自己执行基于哈希的行相等(用于 MERGE 操作)吗?
- javascript - 无法使用带有 webpack 和 ES6 设置的 document.getElementById('password').addEventListener() 调用函数
- postgresql-9.6 - 读取表时,出现错误:无法访问文件“$libdir/postgis-2.3”:没有这样的文件或目录
- scala - Rhino:如何在没有线程关联的情况下创建上下文