>Description: If a null column is used in a unique index then mysql fails to throw a key violation when multiple identical inserts (with nulls) are performed. >How-To-Repeat: create table test (a int null, b int null); alter table test add unique index index_ab (a,b); insert into test (a,b) values(1,null); insert into test (a,b) values(1,null); insert into test (a,b) values(1,null); select * from test; +------+------+ | a | b | +------+------+ | 1 | NULL | | 1 | NULL | | 1 | NULL | +------+------+ 3 rows in set (0.00 sec)
insert into test (a,b) values(1,1); insert into test (a,b) values(1,1); ERROR 1062: Duplicate entry '1-1' for key 1 >Fix: No fix. >Submitter-Id: <submitter ID> >Originator: Jon Barker >Organization: >MySQL support: none >Synopsis: NULLs don't work correctly in unique indexes. >Severity: serious >Priority: >Category: mysql >Class: >Release: mysql-3.23.41 (Official MySQL RPM) >Environment: System: Linux x.catchword.co.uk 2.4.18ptixfs #11 Thu May 2 14:00:21 GMT 2002 i686 unknown Architecture: i686 Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc GCC: Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.96/specs gcc version 2.96 20000731 (Linux-Mandrake 8.0 2.96-0.48mdk) Compilation info: CC='egcs' CFLAGS='-O6 -fno-omit-frame-pointer -mpentium' CXX='egcs' CXXFLAGS='-O6 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti -mpentium' LDFLAGS='' LIBC: lrwxrwxrwx 1 root root 13 Sep 28 2001 /lib/libc.so.6 -> libc-2.2.2.so -rwxr-xr-x 1 root root 1216268 Feb 21 2001 /lib/libc-2.2.2.so -rw-r--r-- 1 root root 26366908 Feb 21 2001 /usr/lib/libc.a -rw-r--r-- 1 root root 178 Feb 21 2001 /usr/lib/libc.so Configure command: ./configure --disable-shared --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --without-berkeley-db --without-innodb --enable-assembler --with-mysqld-user=mysql --with-unix-socket-path=/var/lib/mysql/mysql.sock --prefix=/ --with-extra-charsets=complex --exec-prefix=/usr --libexecdir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var/lib/mysql --infodir=/usr/info --includedir=/usr/include --mandir=/usr/man '--with-comment=Official MySQL RPM' --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php