SQL,PHP - 向下拉函数添加约束

时间:2018-05-30 13:46:40

标签: php sql mysqli

SQL,PHP关于向add函数添加约束的问题。

我有一个父表和一个子表健康记录

@property
def file_exists(self):
    try:
        with open(self.file.path):
            return True
    except Exception:
        return False

id =主键

healthRecord

==================================
id | name | breed | gender | dob |
==================================

memberFK是UNIQUE,是指向dogs.id

的forign键

该代码仅允许每条狗一条健康记录。一对一的关系。

这段代码可以很好地插入数据

====================================
id | fluVax | allergies |  memberFK
====================================

但我确定这是我需要编辑的代码

if(!($stmt = $conn->prepare("INSERT INTO healthRecord(fluVax, allergies, 
memberfk) VALUES (?,?,?)")))
{
    echo "Prepare failed: "  . $stmt->errno . " " . $stmt->error;
}
}
if(!($stmt->bind_param("ssi",$_POST['fluVax'],$_POST['allergies'], 
$_POST['memberId']))) 

这会导致数据库中所有狗的下拉,我想改变下拉菜单,只显示那些还没有狗的狗,这样每只狗只会有一条记录。因为healthRecord.memberfk设置为UNIQUE,如果用户尝试为已经有一个狗的狗添加记录,则会正确返回错误。但我想要的是一个下拉菜单,允许用户只选择没有现有记录的狗

1 个答案:

答案 0 :(得分:1)

有点难以理解你的问题......但我会尝试;)

所以,如果我理解你,每只狗只有1个healthRecord。 首先,你应该使healthRecord.memberfk UNIQUE。为避免重复输入。

第二:您应该选择狗(可能在healthRecord上使用JOIN)来获取具有健康数据的狗,以您需要的方式打印选择(或插入数据),只打印您需要的数据。 / p>