MySQL过程事务提交未正确完成

MySQL过程事务提交未正确完成,mysql,stored-procedures,transactions,Mysql,Stored Procedures,Transactions,我正在MySQL中创建一个过程,需要它要么完成整个过程,要么在不向内存提交任何内容的情况下给出一个错误 DELIMITER // CREATE PROCEDURE input_package(n VARCHAR(255), p INT, l INT, d TEXT) BEGIN DECLARE i INT; START TRANSACTION; INSERT INTO java_master (name, description) VALUES (n, d);

我正在MySQL中创建一个过程,需要它要么完成整个过程,要么在不向内存提交任何内容的情况下给出一个错误

DELIMITER //
CREATE PROCEDURE input_package(n VARCHAR(255), p INT, l INT, d TEXT)
  BEGIN
  DECLARE i INT;
    START TRANSACTION;
      INSERT INTO java_master (name, description) VALUES (n, d);
      SET i = (SELECT id FROM java_master WHERE name = n AND description = d);
      INSERT INTO java_package (master_id, parent_package_id, library_id) VALUES (i, p, l);
    COMMIT;
  END //
DELIMITER ;
但是当我测试第二条insert语句是否失败时,第一条语句仍然完成,这是一个问题,我不知道该怎么办


任何建议都会很好

检查这个:可能会有帮助!很好,但现在我有一个奇怪的问题,如果我得到一个错误,它不会显示。。。我不知道为什么不,但我也没有真正尝试去修复它,任何建议都会很好,但我不会屏住呼吸哈哈。什么东西没有被展示?错误是什么?我没有得到你的错误不会显示,但是我使用一个客户端来读取我的代码并为我解释它,所以问题可能是客户端。。。如果我使用命令提示符进行此操作,则可能会正常工作。