前两天提了mysql 的 AUTO_INCREMENT 问题
今天再提mysql的一个问题:
假设table中有一个price=28.8的记录(price为float型),那么你用
select * from table where price=28.8
是有可能select不到这条记录的,因为10进制和2进制之间的误差,这个28.8有可能是28.7999999
到目前为止我想到是有两个方案:
一个是这样select(其实在对精准要求比较高的情况下,这样可能是有问题)
select * from table where price>28.7 and pric ...
主题:msql重启后,table的AUTO_INCREMENT会变成max(id)+1
假设现在的max(id)=1000,此时我delete id=1000的记录,然后restart mysql,其实我希望的是下一条记录的id=1001才对,但mysql会根据max(id)重新计算AUTO_INCREMENT,也就是下条记录又是id=1000
我现在的办法是,restart mysql 后用ALTER TABLE table AUTO_INCREMENT = 1001手动更新AUTO_INCREMENT
大家有没有什么好办法?
虽然我一直用EMS
不过这一句还是要知道的:
select * from someTable into outfile 'D:\\aaa.txt';
还有以下option:
FIELDS TERMINATED BY ',' ENCLOSED BY '"'; LINES TERMINATED BY '\n';
今天(2007-11-28)碰到问题了:Error reading packet from server: log event entry exceeded max_allowed_packet;
解决方案:
vi /etc/my.cnf
把max_allowed_packet = 1M 改为了max_allowed_packet = 16M(master 和 slave都改了)
slave机执行 slave stop; slave start;
master机执行 reset master;
这中间漏掉的没有同步的数据只能手工同步,不知道有没有别的好的方法
&n ...
今天(2007-11-28)碰到一个问题:windows下表名不区分大小写,linux下默认建的table的类型是Isam
解决方案,修改配置文件
default-storage-engine=INNODB
lower_case_table_names=0
- 浏览: 15498 次

- 详细资料
搜索本博客
最新评论
-
mysql 的 AUTO_INCREMENT ...
hama 写道pi1ot 写道历史表不要用auto incr,把原表id复制过去 ...
-- by ayis -
mysql 的 AUTO_INCREMENT ...
这个概率很低的吧,除非你业务十分不稳定经常在重启中度过...
-- by edwardpro -
mysql 的 AUTO_INCREMENT ...
这问题确实有. 但是为什么你要删数据呢.为什么要赶上刚删数据时重启呢.
-- by mayongzhan -
mysql 的 AUTO_INCREMENT ...
好痛苦!!有几次遇到这个AUTO_INCREMENT在mysql中有的方法。。但 ...
-- by hua839 -
mysql 的 AUTO_INCREMENT ...
我也碰到这问题,弱弱的。 另外,楼上正解。[b][/b]
-- by 54powerman






评论排行榜