Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL加载数据填充;不正确的字符串值错误_Mysql_Mysql Workbench_Load Data Infile - Fatal编程技术网

MySQL加载数据填充;不正确的字符串值错误

MySQL加载数据填充;不正确的字符串值错误,mysql,mysql-workbench,load-data-infile,Mysql,Mysql Workbench,Load Data Infile,我正在使用MySQL workbench从EER图(正向工程)创建数据库, 并希望将数据从文本文件加载到我的表中 load data infile 'c:\\actors.txt' ignore into table actors field terminated by '\t'; 该文件包含欧洲字符。我已经为我的数据库尝试了utf16、utf8、latin1、latin2字符集,但仍然收到错误不正确的字符串值“\xE4vel”。我放弃了模式,每次都用不同的字符集创建(所有表都根据字符集进行了

我正在使用MySQL workbench从EER图(正向工程)创建数据库, 并希望将数据从文本文件加载到我的表中

load data infile 'c:\\actors.txt' ignore into table actors field terminated by '\t';
该文件包含欧洲字符。我已经为我的数据库尝试了utf16、utf8、latin1、latin2字符集,但仍然收到错误不正确的字符串值“\xE4vel”。我放弃了模式,每次都用不同的字符集创建(所有表都根据字符集进行了正确的排序)。如果有什么不同的话,我的操作系统是windows7 64位! 任何人都可以帮助我。谢谢

您试过使用

加载数据本地填充

另外,我不知道在文件位置之后随机忽略是什么

例如,您只需在Data之后添加单词LOCAL,并去掉ignore。试试这个:

LOAD DATA LOCAL INFILE 'c:\\actors.txt' into table actors field terminated by '\t';

我设法修复了它,似乎workbench(至少在我的例子中是这样的)没有像数据库中定义的那样定义表中每一列的字符集和排序,您应该手动执行!! 例如,如果您设置了数据库字符集latin1和collate latin1_swedish_ci,则每个表中的每个字段仍然没有字符集和collate,我必须按1乘以1到我的表并设置列字符集!我不知道这是前沿工程的问题还是什么?
不管以何种方式解决,ignore的工作方式有点像local,它会忽略错误(不会停止加载),然后继续其余的工作。我试过本地的,还是一样的问题,所有的特殊字符都被替换了?在数据库里嗯,很奇怪。特殊角色是什么?你以后会用这些数据做什么?您可能需要将特殊字符转换为HTML代码,这样保存,然后在使用时,将其转换回,。。。这是一个简单的电影数据库,包含演员、导演、编剧、制片人和…尝试使用
mysqli\u real\u escape\u string()
,例如,
mysqli\u real\u escape\u string($data)