Mysql 更新一行并删除另一行

Mysql 更新一行并删除另一行,mysql,sql-delete,Mysql,Sql Delete,我试图用另一个表中的值更新一个表。我想做的是,每次更新发生时,删除表中从中获取数据的行 这是我目前的代码: UPDATE city SET city_longitude = (SELECT city_longitude FROM cities WHERE city.shortCity = cities.city_name OR city.cityName = cities.city_name LIMIT 1) LIMIT 100 到目前为止,此更新仍在运行,但我必须删除更新所在的行(城市表中的

我试图用另一个表中的值更新一个表。我想做的是,每次更新发生时,删除表中从中获取数据的行

这是我目前的代码:

UPDATE city SET city_longitude = (SELECT city_longitude FROM cities WHERE city.shortCity = cities.city_name OR city.cityName = cities.city_name LIMIT 1) LIMIT 100
到目前为止,此更新仍在运行,但我必须删除更新所在的行(城市表中的行)

有没有办法做到这一点

delete from cities where some_id = 1
UPDATE语句完成后,您是否无法执行这些操作?您可能希望有一些东西能够实际确认UPDATE语句成功,然后再删除


更安全的替代方法是使用一个名为isUpdated的标志或类似的标志,更新后可以将其设置为true,但可以将行保留在原始表中。

您需要编写存储过程。或者添加一个触发器。刚使用了一个触发器,它给了我一个无法在触发器内部删除的错误,因为该行正在触发器外部使用(即使我在更新后放置了触发器),但我不能做第一件事,但如果没有其他工作,我会考虑标志设置