Esta es una vieja pregunta, pero aparece con búsquedas y aunque la respuesta seleccionada es correcta, puede que no funcione para todos fácilmente. Por ejemplo, al usar enlaces .NET a SQLite.
La razón es que cuando el GUID está en formato a8828ddf-ef22-4d36-935a-1c66ae86ebb3
no puede simplemente eliminar los guiones y ponerlo en X'...'
. El GUID se divide en varias partes y la base de datos almacena el binario de forma diferente.
Cuando el GUID es a8828ddf-ef22-4d36-935a-1c66ae86ebb3
se almacenará en little endian como X'df8d82a822ef364d5a93b3eb86ae661c'
. Tenga en cuenta que todas las partes se invierten dentro de la cadena.
Por supuesto, si inserta los datos directamente eliminando los guiones como X'a8828ddfef224d36935a1c66ae86ebb3'
, también puede recuperarlos con eso, pero si permite que .NET maneje la conversión, GUID se almacenará como pequeñas representaciones de bytes endian.
(Esto asume toda la arquitectura endian pequeño, no se han probado en big endian)
¿cómo sabes que es el ID de la derecha? ¿Puedes simplemente 'seleccionar * del empleado' o puedes' seleccionar * del empleado donde empleado.id como '% 8828%' '(puede devolver varios registros) para verificar el valor devuelto –
Sé que hay una fila con tal ID existe en la base de datos mostrando la tabla completa en el explorador de servidor sqlite en VS. – sean717
Quizás VS cambie un poco para verlo bien (como agregar guiones). Intenta seleccionar sin ellos. Intenta usar otra IU en el SQLite. –