php - 使用内连接从多个表中删除

标签 php mysql sql

我正在尝试从 php 中 1 个 SQL 查询中的 3 个表中删除记录。首先,我尝试从两个表中删除记录。这是对此的查询:

DELETE pa, pr FROM pollanswers pa INNER JOIN pollresults pr ON
pa.PollQuestionId=pr.PollQuestionId WHERE pa.PollQuestionId = '123';

问题是,如果其中一个表中没有 PollQuestionId 怎么办?之后的其他事情如何将其与第三个表集成?

谢谢。

最佳答案

您不应在一个查询中从多个表中删除。

您可以使用ON DELETE CASCADE选项在表上定义外键约束。

然后从父表中删除记录会从子表中删除记录。

检查此链接:http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

关于php - 使用内连接从多个表中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19662009/

相关文章:

php - mySQL/PHP 实际发生了什么类型的错误

mysql - Laravel 验证 MSSQL

Mysql Bulk update performance improvements for (when.. case)

php - 如果不在其他数组中,则从数组中删除值,但保持相同的顺序

javascript - javascript中表单提交的返回方法

php - Mysql,数据库/服务器之间的数据迁移(现在迁移,稍后定期更新)

mysql - InnoDB 设置修改对现有/新数据库的影响

sql - 在更新作业期间我需要 "lock"一个 SQL 表吗?

mysql - 为大表放置哪些 SQL 索引

php - 使用 PHP 进行代码注入(inject)