我只有一个关于MySQL的初学者小问题,包含关系和连接。
他们之间有什么区别?在设计器部分的phpmyadmin中,我可以在表之间建立关系。因此表格通过例如" id"相互链接。
但如果我在我的PHP代码中进行加入/左连接...
例如:
$stmt = $db->prepare ("SELECT * FROM visitor
LEFT JOIN host ON visitor.host_id=host.id
LEFT JOIN reason ON visitor.reason_id=reason.id
WHERE visitor.id = ?");
$stmt->bindParam(1, $lastid);
$stmt->execute();
我和我做过的一样吗?我现在问为什么你需要将关系设置为phpmyadmin?这样做有什么好处?
答案 0 :(得分:0)
我怀疑你指的是外键。您在技术上已在连接中使用外键(reason_id字段),但通过正式定义它们会创建完整性约束。这样做的好处是不可能不小心插入具有无效reason_id的访问者,也可以指定删除行为以确保适当地清除所有相关记录。请注意,并非所有存储引擎都支持外键。
见这里:https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html