java - MySQL 过程保持返回 0

标签 java mysql

不知道为什么,但我一直得到 0 作为输出参数... 我运行了以下命令:

INSERT INTO users (first_name, last_name, email, image, date_of_registration)
 VALUES ("xx", "xx", "xxx", null, sysdate());SELECT LAST_INSERT_ID();

我得到了比我假设 PersistentConnections 设置为 true 更好的结果 (!= 0)。任何其他可能导致此问题的配置?

程序

DROP PROCEDURE IF EXISTS partners.create_user;
CREATE DEFINER=`partnersmaster`@`%` PROCEDURE `create_user`(
  IN p_first_name NVARCHAR(30),
  IN p_last_name NVARCHAR(30),
  IN p_email NVARCHAR(100),
  IN p_image NVARCHAR(200),
  IN p_date_of_registration TIMESTAMP,
  OUT p_user_id INT
  )
BEGIN
    INSERT INTO users (first_name, last_name, email, image, date_of_registration)
    VALUES (p_first_name, p_last_name, p_email, p_image, p_date_of_registration);
    SET @p_user_id = LAST_INSERT_ID();
END;

Java

conn = engine.getDal().getConnection();
st = conn.prepareCall("{call partners.create_user(?,?,?,?,?,?)}");
st.setString("p_first_name", user.getFirstName());
st.setString("p_last_name", user.getLastName());
st.setString("p_email", user.getEmail());
if(user.getImage() != null)
    st.setString("p_image", user.getImage());
else
    st.setNull("p_image", Types.NVARCHAR);
st.setTimestamp("p_date_of_registration", new Timestamp(System.currentTimeMillis()));
st.registerOutParameter("p_user_id", Types.INTEGER);
st.execute();
userId = st.getInt("p_user_id");

最佳答案

过程参数和 session 变量存在问题 - p_user_id@p_user_id。在您的情况下,未设置 p_user_id

以这种方式更改代码-

BEGIN
  ...
  ...
  ...
  SET p_user_id = LAST_INSERT_ID();
END;

关于java - MySQL 过程保持返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43001596/

相关文章:

javascript - Node mysqljs。如何正确关闭连接

java - org.springframework.beans.factory.BeanCreationException : Error creating bean with name 'projectTaskRepository'

java - 无法使用 API v2 Foreman 1.7.1 创建主机

mysql - 一个数据结果需要前导零(MYSQL Workbench)

mysql - Bluemix ClearDB MySQL 容量限制

javascript - Node JS : Emoji in utf8 request returning � characters

java - Java 中命令模式的接口(interface)

java - 客户端服务器多线程Socket

java - Java 中的随机类型对象总是给我相同的数字

php - xt:Commerce 嵌套集 categories_left 和 categories_right