다음 PHP
코드에서 트리거를 만들고 싶습니다.PHP 코드에서 트리거를 만들 때 구문 오류가 발생했습니다.
$sql = 'delimiter $$';
$pdo->exec($sql);
$sql = 'create trigger avoid_empty_employee_insert before insert on `employee`
for each row begin
if name = "" then set name = null; end if;
end$$';
$pdo->exec($sql);
$sql = 'delimiter ;';
$pdo->exec($sql);
MySQL
에서 코드를 실행하면 트리거가 만들어집니다.
PHP는 다음과 같은 오류를 표시합니다.
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'delimiter $$' at line 1
어떻게 해결할 수 있습니까?
$sql = 'create trigger avoid_empty_employee_insert before insert on `employee`
for each row begin
if name = "" then set name = null; end if; END;';
$pdo->exec($sql);
'SQLSTATE [HY000] : 일반 오류 : 1193 알 수없는 시스템 변수의 이름 '' – xralf
당신이 당신의 직원 테이블에 이름을했다? –
예 "name varchar (255) not null"... btw. 이 코드는 MySQL에서 작동합니다. – xralf