我正在编写一个MySQL触发器来使用RSA插件加密一列敏感数据。网站上有一个基于PHP的插入声明
$sql = "insert into redcap_data (project_id, event_id, record, field_name, value) values
($project_id, " . getEventId() . ", '" . prep($_GET['id']) . "', '{$_GET['page']}_complete', '2')";
在我的触发器中,我需要确定project_id和field_name是否与我的表redcap_encryption中的ProjectID和FieldName匹配,这样我们只对特定项目执行加密。
我有点不确定如何拦截并从从网站传递到数据库的插入语句中选择project_id和field_name
我可以执行以下操作(基本知道)
CREATE TRIGGER `ssnencrpyt`
BEFORE INSERT ON redcap_data
FOR EACH ROW BEGIN
IF project_id, field_name IN (SELECT ProjectID,FieldName FROM redcap_encryption)
由于
答案 0 :(得分:0)
你走在正确的道路上:
IF (SELECT true FROM redcap_encryption WHERE ProjectID=NEW.project_id AND FieldName=NEW.field_name)....