Если в пределах Дао есть: -
@Insert
fun insertDataRow(data: Data): Long
- Таким образом, будет возвращен идентификатор вставленной строки
, а затем используйте
insertedId = myMado.insertDataRow(0,10)
вставленный идентификатор будет сгенерированным идентификатором.
Если вы используете Int? , тогда вы можете использовать
insertedId = myMado.insertDataRow(null,10)
Если с Int? если вы использовали (без существующих данных)
insertedId = myMado.insertDataRow(0,10)
insertedId = myMado.insertDataRow(0,11)
Вы получите исключение UNIQUE для второй вставки, так как id имеет значение 0.
То есть, если вы используете Int? , в отличие от Int , есть небольшое изменение. Int эффективно обрабатывает 0 как ноль, тогда как Int? рассматривает 0 как значение 0
- PS В идеале вам следует использовать Long или Long? для id , поскольку это может быть 64-разрядное целое число со знаком.