mysql 操作中,俩个sql独立运行,没有问题,但是union起来
报错
ERROR 1267 (HY000): Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (big5_chinese_ci,IMPLICIT) for operation 'UNION'后来尝试去掉中文字段(一个结果集有中文,一个没有),再次union,就ok难道在有中文的结果集和另一个没有中文的结果集union 的时候,寻要注意什么呢?
解决方案 »
- 有没有好点的 数据库空间呢?MySql也行了
- asp两表联查重复的数据怎么删除
- 是否有更优的方法,来解决这个php+mysql的执行效率
- 安装mysqlworkbench时,出现error 25581 cannot connect to windows firewall错误,要怎么修改啊?
- 1067错误无法启动,怎样备份数据库呢?
- mysql存数据
- 在REDHAT 8下配置MYSQL时出现的问题.
- mysql -u root -p root pdms <d:\pdms\backdebug\0724.ful 数据导不回
- mysql插入100000条记录要多长时间?
- 大侠们帮忙看看这是啥玩样
- mysql 联合查询两张表问题
- 创建外键怎么总是报ERROR 1005的错?
show create table 表名,贴出来看看
仅用set names 'gbk' 是无法解决的。
给出你的SQL语句和create table xx , 写法上改一下需要。
估计他有一个表是big5字符集。
看来,要都转成utf8才行
但需要楼主给出测试用例。 (我现在很懒了,很少喜欢自己搭测试环境)
*************************** 1. row ***************************
Table: table1
Create Table: CREATE TABLE `table1` (
`infoID` int(6) unsigned zerofill NOT NULL auto_increment,
`wlms` varchar(120) NOT NULL,
`wlmsFull` varchar(300) NOT NULL,
`dl` varchar(200) NOT NULL,
`zl` varchar(200) NOT NULL,
`xl` varchar(200) NOT NULL,
`pm` varchar(200) NOT NULL,
`dw` varchar(50) NOT NULL,
PRIMARY KEY (`infoID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
ERROR:
No query specifiedshow create table table2 \G;
*************************** 1. row ***************************
Table: table2
Create Table: CREATE TABLE `table2` (
`infoID` int(6) unsigned zerofill NOT NULL auto_increment,
`wlms` varchar(120) character set big5 NOT NULL,
`dw` varchar(50) character set big5 NOT NULL,
`f_ww` int(1) unsigned NOT NULL,
`sb` varchar(120) character set big5 default NULL,
`pj` varchar(120) character set big5 default NULL,
`fc` varchar(120) character set big5 default NULL,
`th` varchar(120) character set big5 default NULL,
`cz` varchar(120) character set big5 default NULL,
PRIMARY KEY (`infoID`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=gb2312
1 row in set (0.00 sec)
ERROR:
No query specified查询语句
SELECT f.flowid,f.flowtype,z.wlms,f.flowstate,f.ownid,f.date FROM flow f,table1 z where f.infoid=z.infoid and f.flowtype='EFK' union SELECT f.flowid,f.flowtype,k.wlms,f.flowstate,f.ownid,f.date FROM flow f,table2 k where f.infoid=k.infoid and f.flowtype='EFC'
建议你还给重新贴一下你的 create table / insert 吧。