Mysql sql注入错误1062(23000):重复条目?
我试图理解mysql中的这些错误: 所以我在表中创建了一个序列:Mysql sql注入错误1062(23000):重复条目?,mysql,Mysql,我试图理解mysql中的这些错误: 所以我在表中创建了一个序列: mysql> select id from test_injection ; 结果: +----+ | id | +----+ | 0 | | 1 | | 1 | | 1 | | 1 | | 0 | +----+ 6 rows in set (0.00 sec) +----------+----+ | count(*) | id | +----------+----+ | 2 | 0
mysql> select id from test_injection ;
结果:
+----+
| id |
+----+
| 0 |
| 1 |
| 1 |
| 1 |
| 1 |
| 0 |
+----+
6 rows in set (0.00 sec)
+----------+----+
| count(*) | id |
+----------+----+
| 2 | 0 |
| 4 | 1 |
+----------+----+
2 rows in set (0.00 sec)
我还尝试通过使用select+agregate函数和GROUPBY来消除上面的错误
mysql> select count(*),id from test_injection group by id ;
结果:
+----+
| id |
+----+
| 0 |
| 1 |
| 1 |
| 1 |
| 1 |
| 0 |
+----+
6 rows in set (0.00 sec)
+----------+----+
| count(*) | id |
+----------+----+
| 2 | 0 |
| 4 | 1 |
+----------+----+
2 rows in set (0.00 sec)
我试了很多次,但是没有虫子发生
因此,我尝试在上面的bug中使用它们的有效负载:
mysql> select count(*),floor(rand(0)*2) from security.users ;
结果:
+----+
| id |
+----+
| 0 |
| 1 |
| 1 |
| 1 |
| 1 |
| 0 |
+----+
6 rows in set (0.00 sec)
+----------+----+
| count(*) | id |
+----------+----+
| 2 | 0 |
| 4 | 1 |
+----------+----+
2 rows in set (0.00 sec)
错误1062(23000):密钥“”的重复条目“1”
那么,为什么在第二次选择中会发生错误呢?据我所知,重复错误发生在更新/插入查询中,而不是select中 我在互联网上搜索了很多人可以向我解释这一点,我发现这只发生在插入/更新查询中,所以当我们生成一个序列并对其执行聚合函数时,这将在临时分组表中插入序列,然后执行聚合函数,因此会出现错误