2011-03-10 12 views
7

Actualmente tengo una base de datos MySQL configurada con un cliente Java que accede y usa la base de datos. Necesito un tipo de datos booleanos en la base de datos para determinar si algunos usuarios de la base de datos permiten algunas acciones. ¿Cuál es la mejor implementación de Boolean que puede usar en MySQL ya que no hay ningún tipo de datos booleanos?¿Cuál es la mejor implementación para boolean en MySQL usando Java para conectarse a la base de datos?

sé que TinyInt se puede utilizar con un PreparedStatement con setByte(int parameterIndex, byte x y también sé que Bit también se puede utilizar con setBoolean(int parameterIndex, boolean x). ¿Cuál de estas es la mejor solución para un valor booleano? Y si hay una solución mejor, ¿cuál sería?

Respuesta

6

Boolean en MySQL es un sinónimo de TINYINT(1); Bit es, también, si el número de bits es lo suficientemente pequeño. Desde el punto de vista de la operación de MySQL, hace poca diferencia que uses. ¿Qué quieres decir con "mejor"?

+0

Cuando digo mejor, ¿qué es más fácil de implementar o utilizar cuando se usa Java como cliente? – LOD121

1

Parece que asume que no puede direccionar BOOL de MySQL usando JDBC setBoolean - puede. Como tal, la mejor opción es declarar la columna como BOOL y usar setBoolean. Aunque MySQL alias su declaración a TINYINT, su SQL declara lo que quiere usar y su código Java lo hace obvio en ese nivel también.

+0

, ¿funcionará el resultSet.getBoolean (colunmn)? –

+0

@sheldonCooper, no lo he comprobado, pero de memoria, sí. –

Cuestiones relacionadas