我一直在MySQL控制台中执行以下查询:
INSERT INTO pixel_window
SELECT id
FROM pixels
WHERE pixel_id='type2'
ORDER BY id DESC
LIMIT 5;
得到了:
Query OK, 5 rows affected, 1 warning (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Note
Code: 1592
Message: Statement may not be safe to log in statement format.
1 row in set (0.00 sec)
我在查询中玩了一点,发现当省略LIMIT
时警告消失。
这个警告意味着什么?为什么LIMIT
在此子查询中存在问题?
答案 0 :(得分:6)
这被认为是一个错误。
如果未在更新中定义“order by”子句,则可能会引发警告。 在您的情况下,它被认为是安全的,因为您按ID排序(asuming id是一个唯一的id?)
在此处阅读有关错误报告的更多信息:http://bugs.mysql.com/bug.php?id=42415