hi all i have make sure there is a bug of mysql with mysql-3.23.32 repeat this bug. CREATE TABLE A ( B bigint(20) unsigned DEFAULT '0' NOT NULL, value bigint(20) unsigned DEFAULT '0' NOT NULL, PRIMARY KEY (B) ); *p.s the same with take off primary key insert into A values(9229307903454284864,1) insert into A values(9229307903454284864,1) then you will see it say MySQL said: Duplicate entry '9229307903454285824' for key 1 see?!.. it says duplicate with 9229307903454285824. not what we input 9229307903454284864 before. browse the table. you can see there are one rows 9229307903454285824 812 this is not what we insert before, either. and no matter you select * from A where B=9229307903454285824 or select * from A where B=9229307903454284864 it all return zero row. i try this on mysql-3.23.32 on FreeBSD 4.2-RELEASE mysql-3.23.25-beta on FreeBSD 3.3-STABLE mysql-3.22.32 on Linux test 2.4.1 #2 SMP i686 unknown mysq-3.23.24 on FreeBSD 4.0-STABLE all the same situation. oh...............suddenly i think there is another fast way to test. that is select 11111111111111111111; ( < 18446744073709551615, max of unsigned bigint) it returns 11111111111111110656 is it overflow?..... Regards chChen