1.导出的文件已经存在,就会导致后面SQL语句不能执行.
如图所示:
解决办法:
- 需要导出的数据不是很多的,可以单独运行,选定之后,ctrl+shift+R就可以解决
- 可以删除之前已经导出的文件,之后整体运行 ctrl+R即可
2.出现sql语句语法问题
解决方法:
- 去掉
when person_name is then person_english_name
中的is,因为is常跟null,因此去掉之后就表示person_name存在
3.select的属性形式问题
- 如果是一个新表(person_),那么在select的时候同时完成了新建属性与选择属性的功能
- 如果是旧表(person),那么属性名应该是变量名,而是用字符串的形式,否则就会将该字符串直接赋值给对应新表的属性名.错误情况如下
- 具体情况代码如下:
#导出演员person的信息 == 如果有中文名要中文名,如果没有取英文名
SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/person.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
FROM (select 'pid','birth','death','name','biography','birthplace' union
select person_id,person_birth_day,person_death_day,case when person_name is then person_english_name else person_name end
as name,person_biography,person_birth_place from person) person_;
4.在合并两张表合并失败
原因有:
- 可能是所选择的表名有错,就是from table_name
- 或者旧表的属性名写错了