Tenga en cuenta la siguiente tabla:¿Cómo evito que MySQL aumente automáticamente la clave principal mientras usa ON DUPLICATE KEY UPDATE cuando el duplicado es una columna única diferente?
+-------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| vendor_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| vendor_name | varchar(100) | NO | UNI | NULL | |
| count | int(10) unsigned | NO | | 1 | |
+-------------+------------------+------+-----+---------+----------------+
tengo el siguiente MySQL consulta:
INSERT INTO `table`
(`vendor_name`)
VALUES
('foobar') ON DUPLICATE KEY UPDATE `count` = `count` + 1
La intención de esta consulta es insertar un nuevo nombre del proveedor a la mesa y en el caso de que el nombre del proveedor ya existe, el recuento de columnas debe incrementarse en 1. Esto funciona, sin embargo, la clave principal de la columna actual también se incrementará automáticamente. ¿Cómo puedo evitar que MySQL aumente automáticamente la clave principal en estos casos? ¿Hay alguna manera de hacer esto con una consulta?
Gracias.
¿Usas algún launguage (como PHP)? para implementar el proceso? – srinivas
Sí, utilizo PHP para buscar los datos en otro lugar e insertarlos en mi tabla con esta consulta. – vascaino