mybatis同时执行两条插入语句,第一条数据生成的ID作为第二条插入语句的参数
请问应该怎么写,如果能加上对第一条结果的判断就更好了,谢谢<insertid="addUser"parameterType="User"><selectKeyresult...
请问应该怎么写,如果能加上对第一条结果的判断就更好了,谢谢
<insert id="addUser" parameterType="User">
<selectKey resultType="int" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT into user(name) values(#{name});
INSERT into user_grade(user_id,grade_id) values(#{id},#{grade.id})
</insert>
我是这样写的,结果第二条语句是这样INSERT into user_grade(user_id,grade_id) values(0,1),没能执行
一共就这些分,上次提问把分都用掉了 展开
<insert id="addUser" parameterType="User">
<selectKey resultType="int" keyProperty="id">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT into user(name) values(#{name});
INSERT into user_grade(user_id,grade_id) values(#{id},#{grade.id})
</insert>
我是这样写的,结果第二条语句是这样INSERT into user_grade(user_id,grade_id) values(0,1),没能执行
一共就这些分,上次提问把分都用掉了 展开
1个回答
展开全部
MYSQL?ORACLE?
ORACLE:
<INSERT>
<SELECTKEY ....>
SELECT XXXX
</SELECTKEY>
INSERT XXX
</INSERT>
MYSQL:
<INSERT>
INSERT XXX
<SELECTKEY ....>
SELECT XXXX
</SELECTKEY>
</INSERT>
参考:
http://lelglin.iteye.com/blog/1452403
ORACLE:
<INSERT>
<SELECTKEY ....>
SELECT XXXX
</SELECTKEY>
INSERT XXX
</INSERT>
MYSQL:
<INSERT>
INSERT XXX
<SELECTKEY ....>
SELECT XXXX
</SELECTKEY>
</INSERT>
参考:
http://lelglin.iteye.com/blog/1452403
更多追问追答
追问
对不起啊,是MYsql,怪我没说清楚
追答
MYSQL 将selectKey放在insert之后试下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询