MySQL varchar 列已填充但不可见

标签 mysql


我在 MySQL 表上的列 ( VARCHAR(513) NOT NULL ) 上遇到问题。
在从 CSV 文件导入的过程中,一堆行被填充了不知道从哪里来的一些奇怪的东西。
这些东西在 Workbench 中是不可见的,但是如果我使用以下命令查询 DBMS:

SELECT * FROM MyTable;
我得到:
<b>ID | Drive | Directory        | URI          | Type ||</b>
1  | Z:    | \Users\Data\     | \server\dati | 1    || // <-correct row
...
32 | NULL  | \Users\OtherDir\ |              | 0    ||
虽然第 1 行是正确的,但第 32 行显示了一个充满了某些内容的 URI。现在,如果我查询 dbms:
SELECT length(URI) FROM MyTable WHERE ID = 32;
我得到了 32。同时,做:
SELECT URI FROM MyTable WhERE ID = 32;
在 MFC 应用程序中,获取长度为 0 的字符串。
在该程序中,我有一个用于处理该表的工具,但这无法工作,因为我无法构建关于具有错误 URI 的行的查询:我该如何解决这个问题?这个问题从何而来?如果您需要更多信息,请询问。 谢谢。

最佳答案

看起来您的数据中有空格,这是导致问题的原因,当您从 CSV 导入数据时,这种情况最常发生。

因此要修复它,您可能需要运行以下更新语句

update MyTable set URI = trim(URI);

以上将从列中删除空格。

此外,从 CSV 导入数据时,最好在将值插入数据库之前使用 TRIM(),这样可以避免此类问题。

关于MySQL varchar 列已填充但不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24135217/

相关文章:

javascript - 我正在尝试通过验证创建此登录/注册表单

python - Lambda 上的 MySQL 连接器产生无法导入模块 'myapp' : No module named 'mysql'

php - 从数据库中删除特定图像[简单php/mySql]

mysql - 'id' 附近的语法有什么问题?

php - sql表中添加空白条目并刷新页面

python - Python 中的子句查询(pymysql 和 mysql.connector)

mysql - mysql 中的几何和地理数据类型

php - 多个数据库连接的多个数据库用户

java - Netstat 显示 mysql 连接的许多 CLOSE_WAIT 状态

mysql - 如何修复 node.js 代码以检查登录