0
2つのテーブルにレコードを挿入するプロシージャを作成する必要がありますが、2番目のテーブルでは最初のテーブルに挿入された最後のIDを挿入します。誰も私にこれを手伝ってもらえますか?MySQL - 1つのプロシージャで2つのテーブルに挿入
これは私達がちょうど最初のINSERTクエリにそれを挿入したとき
DELIMITER //
DROP PROCEDURE IF EXISTS ROOM_FEATURE_INSERT;
CREATE PROCEDURE ROOM_FEATURE_INSERT (propID INT, featID INT, featNme VARCHAR(50))
BEGIN
-- BEGIN CHECK
IF NOT EXISTS
(
SELECT rFeatureName FROM COMPANY_T3s71.PROPERTY_RFEATURE PRFE
INNER JOIN COMPANY_T3s71.ROOM_FEATURE RFEA ON PRFE.rFeatureID=RFEA.rFeatureID
WHERE BINARY rFeatureName = featNme AND propertyID = propID
)
AND
(
SELECT rFeatureName FROM COMPANY_T3s71.ROOM_VIEW
WHERE BINARY rFeatureName = featNme
)
THEN
-- IF NOT EXISTS INSERT INTO 1st TABLE
INSERT INTO COMPANY_T3s71.ROOM_FEATURE (rFeatureName) VALUES (featNme);
END IF;
-- END CHECK
-- BEGIN CHECK 2nd TABLE
IF NOT EXISTS
(
SELECT propertyID, rFeatureID FROM COMPANY_T3s71.PROPERTY_RFEATURE
WHERE rFeatureID = featID AND propertyID = propID
)
THEN
-- IF NOT EXISTS INSERT INTO 2nd TABLE
INSERT INTO COMPANY_T3s71.PROPERTY_RFEATURE (propertyID, rFeatureID) VALUES (propID, featID);
END IF;
-- END CHECK 2nd TABLE
END
DELIMITER ;
がどのように我々は、featIDのPARAMを通過しない、私のクエリですか?
手前にありがとうございます。
featIDにAUTO_INCREMENTオプションがある場合は、MySQLの 'LAST_INSERT_ID()'関数を使うことができます(https://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id ) –