gpt4 book ai didi

MySQL select 语句没有按名称找到列,我错过了什么?

转载 作者:行者123 更新时间:2023-11-29 07:19:00 24 4
gpt4 key购买 nike

我有一个 MYSQL 数据库,其中有一个表,我正在尝试按其中一列查找记录。我原以为这会很简单,但是当我尝试使用 select 语句查找数据时出现错误。

这是我的数据库列的图像。 database columns

我认为问题出在我的代码上,但后来决定从命令行界面运行查询。以下是我运行的三个略有不同的查询示例。我试图通过 PLU 编号退回商品的地方。 select statments

我重命名了该列,尝试将数据类型更改为 INT 和 Text,结果相同。不太确定我错过了什么。

最佳答案

您可以使用这样的查询来帮助识别隐藏的字符和前导/尾随空格。

SELECT CHAR_LENGTH(COLUMN_NAME) AS nameLen, CONCAT('[',COLUMN_NAME,']') AS name 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'myTableName'
;

如果发现此类问题,您可以尝试通过 MySQL Workbench(或 PhpMyAdmin,或您使用的任何 RDBMS 工具)重命名问题字段。

但是,如果失败(可能是在开头或结尾并且用于字段名称的文本控件无法“抓取”字符),您可以创建一个空副本表,以相同顺序使用正确的字段名称,然后使用 INSERT INTO copy SELECT * FROM original(明确省略字段名称以避免潜在问题,这就是为什么“相同顺序”很重要).然后只需删除原件并重命名副本即可。

如果有引用原始文件的外键,它们也需要在重命名之前删除,并在重命名之后重新创建。

关于MySQL select 语句没有按名称找到列,我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57379340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com