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]

Reply via email to