MySQL/MariaDB stored procedure inserts even with syntax error
문제
createdAt has not been defined, but the query still runs when I call this proc and inserts a "0" date. Why, shouldn't it fail?
DELIMITER $$
USE `MobiFit_Dev` $$
DROP PROCEDURE IF EXISTS `User_Signup` $$
CREATE DEFINER = `root` @`localhost` PROCEDURE `User_Signup` (
email VARCHAR (250),
hashedPassword BINARY(60),
firstName VARCHAR (100),
lastName VARCHAR (100),
gender ENUM ('Male', 'Female'),
dateOfBirth DATE,
height DECIMAL (3, 2),
currentWeight DECIMAL (4, 1)
)
BEGIN
INSERT INTO USER (
Email,
HashedPassword,
RoleId,
FirstName,
LastName,
Gender,
DateOfBirth,
Height,
CurrentWeight,
CreatedAt
)
VALUES
(
email,
hashedPassword,
(SELECT
id
FROM
Role
WHERE `Code` = 'CUSTOMER'),
firstName,
lastName,
gender,
dateOfBirth,
height,
currentWeight,
createdAt <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
) ;
END $$
DELIMITER ;
올바른 솔루션이 없습니다
제휴하지 않습니다 dba.stackexchange