ユーザーが最後にログイン/ログアウトしたときに保存するテーブルを作成しています。Id、ビット フィールドとしてのアクション、および DATETIME としての瞬間を格納する 1 行だけです。私の考えは、ストアド プロシージャを実行して、ユーザーが新規のときに挿入し、ユーザーが存在するときに更新することです。私はこのコードを実行しました:
DELIMITER $$
CREATE PROCEDURE sp_LastAction(in id_in int, accion_in bit)
begin
SELECT @CONT:= IdUsuario FROM login WHERE IdUsuario = id_in;
IF NOT @CONT then
INSERT INTO login(IdUsuario, Fecha, Accion)
values (id_in, NOW(), accion_in);
ELSE
UPDATE login SET Fecha = NOW(), Accion = accion_in
WHERE IdUsuario = id_in LIMIT 1;
end IF;
end$$
DELIMITER ;
しかし、プロシージャを呼び出すと、何もせず、変数を void フィールドとして返すだけです。