0
テーブルにデータを挿入しようとしたとき、私はいつもException
と答えました。id
はNULL
です。ここで コードです:MyBatisでgeneratedIdを使用して挿入するには?
@Insert({
"insert into device (tag)",
"values (#{tag,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
int insert(Device record);
また、私は
@SelectKey(before = true, keyColumn = "id",
keyProperty = "id",
resultType = Integer.class,
statement = "SELECT SCOPE_IDENTITY()")
を追加しようとしました。しかし、まだエラーが発生しました。次に、SQL(SELECT SCOPE_IDENTITY()
)を実行し、nullを取得します。
環境は次のとおりです。MyBatis 3.4.0
、SQL Server 2008
、
例外に関する詳細を投稿できますか? – Blank
@Renoこれは、null以外の列にnullを挿入できないことを示しています。 mybatisが 'id'カラムをNULLに設定しているようです。ですから、 'SELECT SCOPE_INDENTITY()'はnullを取得すると思います。 – blackdog
ええ、あなたの列 'id'は自動インクリメントですか?このエラーはSQLエラーのようです。 – Blank