mysql - Mysql 从表中选择顶部项目然后删除并打印
问题描述
我正在尝试从表中选择第一行并将其删除。该行有两个项目assigned_id
和key_id
。我正在使用 PHP 进行查询并希望传递两个项目的返回。但似乎无法得到一个单一的声明来工作。
由于mysql
没有 OUTPUT 选项并且似乎不支持LIMIT
in 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;
似乎不起作用。
提前致谢!
解决方案
如何确保我选择的行在删除之前不会被选中。我不想锁定表,因为其他线程也可以提取assigned_id。
推荐阅读
- react-native-android - onPress 仅响应长按
- c# - Azure 应用服务中的文件系统问题 - 无法创建目录
- sql-server - SQL Server / 非确定性函数影响?
- matlab - 在 hex 文件中查找重复的字符串
- ruby-on-rails - Ruby on Rails 4 - 从模型缓存部分
- ruby-on-rails - Rails 控制器索引仅显示具有关联的对象
- go - 我们只能使用没有 volatile 的 RWMutex 吗?
- angular - filter.trim 不是函数
- typescript - 一对多关系不插入父级
- flask - 使用主管运行 (flask+) gunicorn 时出现问题:未指定应用程序模块