我现在在MYSQL数据库中处理这个问题几个小时了。我使用OS X 10.8.4并使用工具Sequel Pro来处理我的数据库。我遇到麻烦的表看起来像这样:
CREATE TABLE `Descriptions` (
`id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,
`company` varchar(200) DEFAULT NULL,
`overview` mediumtext,
`trade` mediumtext,
PRIMARY KEY (`id`))
ENGINE=InnoDB AUTO_INCREMENT=1703911 DEFAULT CHARSET=utf8;
我导入了一个像这样的csv文件:
LOAD DATA LOCAL INFILE 'users/marc/desktop/descriptions kopie.txt'
INTO TABLE descriptions
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
(@dummy, company, overview, trade)
当我现在查看表格中的数据时,一切看起来都像我期望的那样(SELECT * Syntax)
。但我无法处理数据。当我试图选择公司'SISTERS'时,我知道它存在,它没有给我任何结果。当没有数据时,字段“overview”和“trade”也不是NULL,它只是一个空字符串。数据库中的其他表与导入的数据一起工作正常。不知何故,MySQL只是没有将值看作是可以使用的东西,它并不困扰于阅读它们。
到目前为止我尝试了什么:
- 我使用文本管理器将csv转换为txt(utf-8)并将其转换为数据库,无法正常工作
- 我将字段更改为BLOB并返回到varchar / mediumtext以强制mysql对数据执行某些操作,但是没有工作
- 我试图使用Sequel Pro Import功能,没有改变任何东西
- 我试图制作一张新桌子并将旧桌子复制到其中,没有改变任何东西
- 我尝试使用concat语法强制mysql更改值(只添加随后可以删除的随机变量)
是否与排序规则设置有关?它可能与我的OS X上的区域设置(瑞士)有关吗?还有其他想法吗?非常感谢任何帮助。
亲切的问候,
马克
答案 0 :(得分:0)
我可以解决问题。当我在Text Wrangler中打开csv并让隐形字符显示时,它充满了红色反转的问号。那些偷偷摸摸的混蛋,他们搞砸了一切。我现在不知道他们是什么,但他们是问题所在。我用“Zap Gremlins ...”选项删除了它们。