mysql - 如何使用另一个条件(例如 "name"而不是mysql中的id)从共享id的数据库中删除行

标签 mysql sql database inner-join sql-delete

我已经在 phpmyadmin 中尝试过此操作,但它带来了此错误“#1109 - MULTI DELETE 中未知的表'training_session'”

我有两个表(athlete)和(training_session)。 athlete 的相关列是 nameidtraining_session 的相关列是 athlete_id.

DELETE training_session  FROM training_session t
INNER JOIN athlete a
iN t.athlete_id = a.id
WHERE a.name = ‘Per Persen’;

MySQL 说:

1109 - Unknown table 'training_session' in MULTI DELETE

最佳答案

您需要使用FROM子句中定义的别名:

DELETE t
    FROM training_session t INNER JOIN
         athlete a
         ON t.athlete_id = a.id
WHERE a.name = 'Per Persen';

关于mysql - 如何使用另一个条件(例如 "name"而不是mysql中的id)从共享id的数据库中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58052090/

相关文章:

mysql - 如何使用 Spring Boot 回滚 MySQL 数据库中的所有更改

php - 访问部分子查询以在 PHP 服务器中构建 HTML

database - 将版本/历史系统添加到数据库表

sql - 数据库服务器 100%,无原因

sql - 产品和变体 - 设计数据库的最佳方式

django - 通过表单 OnetoOneField 更新 - 重复的键值违反唯一约束

mysql语句不会插入

php - 如何在mysql的WHERE子句中使用OR & AND

mysql - 为 'business_owners' 和 'customers' 设置数据库

mysql - 连续行之间每人之间的时间差