最後に追加された要素のIDは、どのようにして取得できますか?ウェブ上での検索から、あなたが@@ IDENTITYとIDENTITY_SCOPE()を使うことができることがわかりました。私は、次のことを試してみましたが、それは上の表は、Productテーブルに値を追加すると、自動的に指定した製品のすべての値を設定すると、ちょうどしようとしていますsake.I実験のためにある自動インクリメントされていないテーブルで最後に追加されたIDはどのようにして見つけられますか?
CREATE TABLE Products
(PT_ID int PRIMARY KEY, Name nvarchar(20))
CREATE TABLE Storage(ST_ID int Primary key,Info nvarchar(20))
CREATE TABLE ProductStorageMM
(ST_ID int CONSTRAINT S_FK FOREIGN KEY REFERENCES Storage(ST_ID),
PT_ID int CONSTRAINT P_FK FOREIGN KEY REFERENCES Products(PT_ID),
Status int not null,
PRIMARY KEY (ST_ID ,PT_ID)
)
が動作していませんストレージはゼロになります。
CREATE PROCEDURE AddingProduct
(@PID int ,@NAME nvarchar(20))
AS BEGIN
INSERT INTO Products(PT_ID,Name)
VALUES(@PID,@NAME)
INSERT INTO PSKT (PT_ID,ST_ID,Status)
SELECT PTT.PT_ID ,STT.ST_ID,0
FROM (SELECT * FROM Storage) AS STT,
(SELECT * FROM Products WHERE PT_ID=SCOPE_IDENTITY()) AS PTT;
END
この手順は機能しません。何が間違っていますか?
'使用>実施例@@ IDENTITYはMicrosoft SQL Server用です。あなたの質問はMySQLにタグ付けされています。あなたはどちらが実際に使っていますか? –
MySQLでは、最後に追加されたIDを見つけるためにMAX()を使用する必要があります –
@MattGibsonああ、申し訳ありませんでした。私はSQLサーバーを使用しています – King23