选择和删除

Tom*_*nal 5 java mysql

我想选择表中的第一行,按顺序time(升序),然后删除该行.我不想使用两个查询,因为有可能另一个客户端可以在删除之前选择该行(将有几台机器从不同的网络同时连接).

我以为我可以做点什么

SELECT * FROM `mytable` ORDER BY `time` LIMIT 1;
    DELETE FROM `mytable` ORDER BY `time` LIMIT 1
Run Code Online (Sandbox Code Playgroud)

......但是我收到了一个错误:

您的SQL语法有错误; 检查与您的MySQL服务器版本对应的手册,以便在'附近使用正确的语法; 在第1行删除*FROM pendingORDER BY timeLIMIT 1'

最好的方法是什么?谢谢.

Rie*_*sio 4

回复您的错误消息(与您的问题不同):

DELETE * FROM pending ORDER BY time LIMIT 1
Run Code Online (Sandbox Code Playgroud)

看起来你的语法有错误。尝试删除*. 那是,

DELETE FROM pending ORDER BY time LIMIT 1
Run Code Online (Sandbox Code Playgroud)

应该可以正常工作。