Hi, this is an example where what you describe doesn't happen (v 4.1 and 5.0) : mysql> create table ports(mac varchar(17),port_index varchar(3)); Query OK, 0 rows affected (0.10 sec)
mysql> insert into ports values('00:04:FB:23:5A:44','120'),(NULL,'120'); Query OK, 2 rows affected (0.08 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from ports; +-------------------+------------+ | mac | port_index | +-------------------+------------+ | 00:04:FB:23:5A:44 | 120 | | NULL | 120 | +-------------------+------------+ 2 rows in set (0.00 sec) mysql> select * from ports where mac='00:04:FB:23:5A:44'; +-------------------+------------+ | mac | port_index | +-------------------+------------+ | 00:04:FB:23:5A:44 | 120 | +-------------------+------------+ 1 row in set (0.00 sec) mysql> mysql> update ports set port_index='123' where mac='00:04:FB:23:5A:44'; Query OK, 1 row affected (0.41 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from ports; +-------------------+------------+ | mac | port_index | +-------------------+------------+ | 00:04:FB:23:5A:44 | 123 | | NULL | 120 | +-------------------+------------+ 2 rows in set (0.00 sec) mysql> if you use an old version which is buggy, just migrate. Mathias Selon Brent Baisley <[EMAIL PROTECTED]>: > That is very odd behavior and shouldn't be happening. I ran a quick > test on my machine and MySQL does not exhibit that behavior. You may > try running and repair on your table. Perhaps something is out of > whack. What version of MySQL are you running? > > > On Apr 22, 2005, at 6:08 PM, [EMAIL PROTECTED] wrote: > > > Hello, all: > > > > In a MyISAM table, I have a column named "MAC", of type VARCHAR(17). > > This field is used to hold MAC addresses of computers' network > > interface cards. These MAC addresses are in the > > form "XX:XX:XX:XX:XX:XX", where X can be either a number or an > > uppercase letter. I can run "select * from table where > > MAC='00:04:FB:23:5A:44'" and the correct record is returned. However, > > performing "update table set port_index='123' where > > MAC='00:04:FB:23:5A:44'" does not work as I expected. It does update > > the correct record, but also updates all other records whose MAC field > > is empty. When I originally created this field, I used type VARCHAR > > (17), null, default value NULL. In troubleshooting this, I have since > > change the type to CHAR(17), not null, empty default value. Still > > have the same problem. Does anyone know what's going on here, and how > > I could correct this? > > > > Thanks! > > > > -- > > MySQL General Mailing List > > For list archives: http://lists.mysql.com/mysql > > To unsubscribe: > > http://lists.mysql.com/[EMAIL PROTECTED] > > > > > -- > Brent Baisley > Systems Architect > Landover Associates, Inc. > Search & Advisory Services for Advanced Technology Environments > p: 212.759.6400/800.759.0577 > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]