mysql ignore 不能执行MySQL server version for the right syntax to use near ignore问题
2016-12-13 11:53
746 查看
最近项目中有个需求,要对三个字段进行唯一索引,语句很简单:
alter table tuser_props_pay add unique index(userno,propsno,datatime);
但是由于有重复数据需要加入ignore,对重复数据进行忽略并只保留一条相同数据。这时语句改为:
alter ignore table tuser_props_pay add unique index(userno,propsno,datatime);
应该没问题的语句却在执行过程中报错:MySQL server version for the right syntax to use near ignore...
找了很多原因,最后确定为mysql5.7版本不在支持ignore,由于不知道哪条是第一条的数据,所以会引起重复数据问题,以及唯一字段等问题。
但是不能用ignore就意味着要么降低mysql版本,要么手动去重。
附:mysql5.7不支持ignore官方解释:http://dev.mysql.com/worklog/task/?id=7395
alter table tuser_props_pay add unique index(userno,propsno,datatime);
但是由于有重复数据需要加入ignore,对重复数据进行忽略并只保留一条相同数据。这时语句改为:
alter ignore table tuser_props_pay add unique index(userno,propsno,datatime);
应该没问题的语句却在执行过程中报错:MySQL server version for the right syntax to use near ignore...
找了很多原因,最后确定为mysql5.7版本不在支持ignore,由于不知道哪条是第一条的数据,所以会引起重复数据问题,以及唯一字段等问题。
但是不能用ignore就意味着要么降低mysql版本,要么手动去重。
附:mysql5.7不支持ignore官方解释:http://dev.mysql.com/worklog/task/?id=7395
相关文章推荐
- MySql 执行语句错误 Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
- check the manual that corresponds to your MySQL server version for the right syntax to use near 'cre
- MySQL server version for the right syntax to use near ‘USING BTREE
- corresponds to your MySQL server version for the right syntax to use near 'describe)values(225,0,'aa
- 异常“check the manual that corresponds to your MySQL server version for the right syntax to use near ”
- heck the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTI
- You have an error MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 20
- dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at lin
- check the manual that corresponds to your MySQL server version for the right syntax to use near
- MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
- your MySQL server version for the right syntax to use near 'NULL' at line 1
- dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at lin
- check the manual that corresponds to your MySQL server version for the right syntax to use near 'oiw
- java MySQL server version for the right syntax to use near
- MySQL server version for the right syntax to use near 'TYPE=MyISAM'
- mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法
- MySQL server version for the right syntax to use near 'info where info.stu_id = 1' at line 1
- mysql报错:MySQL server version for the right syntax to use near 'type=InnoDB'
- 插入mysql语句报错:1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
- your MySQL server version for the right syntax to use near 'UNION '