私はMySQLのストアドプロシージャに問題があります。 IDパラメータを渡して1行を取得したいのですが、SPがWHEREフィルタを無視してテーブルのすべての列を表示しているようです。MySQLストアドプロシージャのIDで行を取得するには?
私が奇妙なのは、1003などのストアドプロシージャ外のクエリでidの特定の値を渡すと、予想される結果が返されるということです。
申し訳ありません私の間違いがばかげば、私は初心者です。
CREATE TABLE Paciente
(
ID INT AUTO_INCREMENT NOT NULL,
DNI CHAR(8) UNIQUE NULL,
Nombre NVARCHAR(70) NOT NULL,
Apellido_Paterno NVARCHAR(30) NOT NULL,
Apellido_Materno NVARCHAR(30) NOT NULL,
Edad TINYINT NOT NULL,
Sexo CHAR(1) NOT NULL,
Calle NVARCHAR(50) NULL,
Numero_Domicilio SMALLINT(4) NULL,
Telefono NVARCHAR(8) NULL,
Movil NVARCHAR(10) NULL,
Estado_Civil NVARCHAR(20) NULL,
Ocupacion NVARCHAR(30) NULL,
Fecha_Registro DATETIME DEFAULT CURRENT_TIMESTAMP,
Estado BOOLEAN NULL DEFAULT TRUE,
PRIMARY KEY(ID)
)ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000;
Stored Procedure:
DELIMITER $$
CREATE PROCEDURE `buscarPaciente`(IN id INT)
BEGIN
SELECT * FROM Paciente WHERE ID = id LIMIT 1;
END
$$
DELIMITER ;
あなたは列または行ですか? – artm
ただ一つのレコード –
ああ、申し訳ありません、私の間違い。 –