首页 > 解决方案 > Mysql 从表中选择顶部项目然后删除并打印

问题描述

我正在尝试从表中选择第一行并将其删除。该行有两个项目assigned_idkey_id。我正在使用 PHP 进行查询并希望传递两个项目的返回。但似乎无法得到一个单一的声明来工作。

由于mysql没有 OUTPUT 选项并且似乎不支持LIMITin a sub。如何在同一语句中选择和删除。我只希望可以根据需要对表格中的顶部项目进行排序key_id。项目已按顺序加载到表中。

我试过这样的东西:

delete from assigned output deleted.* WHERE assigned_id=(SELECT assigned_id FROM assigned ORDER BY key_id ASC LIMIT 1) LIMIT 1;

似乎不起作用。

提前致谢!

标签: mysqlselectsql-delete

解决方案


如何确保我选择的行在删除之前不会被选中。我不想锁定表,因为其他线程也可以提取assigned_id。


推荐阅读