0

私がしたいのは、レコードをテーブルに挿入し、同じクエリの select ステートメントで主キーを返すことです。主キーは自動インクリメントで、この値を取得して別の関数に送信したいと考えています。

4

2 に答える 2

1

これらの両方を 1 つのクエリで実行することはできません。代わりにできることはLAST_INSERT_ID()、2 番目のクエリで使用することです。

INSERT INTO tableA(rowA, rowB) VALUES('a', 'b');

SELECT * FROM tableB WHERE rowID = LAST_INSERT_ID();
于 2013-03-13T14:50:52.363 に答える
0

次のように、新しいデータ行の場合に Id 値を挿入して返す関数を作成できます。

CREATE FUNCTION INSERTANDRETURN(Data to enter as parameters)
  RETURNS INT
  DETERMINISTIC
   BEGIN
    DECLARE id INT;
    -- Insert data
    SET id = last id according to Maxvalue or last inserted data
    RETURN id;
   END

プロシージャと関数の詳細については、ドキュメントを参照してください

于 2013-03-13T14:50:17.110 に答える