sql >> Base de Datos >  >> RDS >> Mysql

MySQL:¿hay algo así como un identificador de registro interno para cada registro en una tabla MySQL?

AFAIK no existe tal identificador interno único (digamos, una ID de fila simple).

Usted puede tal vez ser capaz de ejecutar un SELECT sin ningún tipo de clasificación y luego obtener la fila n-ésima usando un LIMIT . Bajo qué condiciones es confiable y seguro de usar, un gurú de mySQL debería confirmarlo. Probablemente nunca lo sea.

Intenta jugar con phpMyAdmin , la interfaz web de mySQL. Está diseñado para lidiar con mesas mal diseñadas y sin llaves. Si no recuerdo mal, usa all columnas a las que puede acceder en tales casos:

UPDATE xyz set a = b WHERE 'fieldname'  = 'value' 
                       AND 'fieldname2' = 'value2' 
                       AND 'fieldname3' = 'value3' 
                       LIMIT 0,1;

y así.

Eso tampoco es completamente seguro para duplicados, por supuesto.

La única idea que me viene a la mente es agregar una columna clave en el tiempo de ejecución y eliminarla cuando la aplicación haya terminado. Es una idea que pone la piel de gallina, pero tal vez sea mejor que nada.