34 lines
		
	
	
		
			665 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			665 B
		
	
	
	
		
			SQL
		
	
	
	
	
	
CREATE TABLE `ban_detector` (
 | 
						|
  `fingerprint` varchar(512) NOT NULL,
 | 
						|
  `ip` varchar(64) NOT NULL,
 | 
						|
  `created_on` datetime DEFAULT CURRENT_TIMESTAMP,
 | 
						|
  `ID` int AUTO_INCREMENT,
 | 
						|
  PRIMARY KEY (`fingerprint`,`ip`),
 | 
						|
  KEY `ID` (`ID`)
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
CREATE TABLE `ban_detector_steamids` (
 | 
						|
	`steamid` varchar(64) DEFAULT NULL,
 | 
						|
	`name` varchar(128) DEFAULT NULL,
 | 
						|
	`ID` int NOT NULL,
 | 
						|
	 FOREIGN KEY (`ID`) REFERENCES ban_detector(ID)
 | 
						|
    ON DELETE CASCADE
 | 
						|
)
 | 
						|
 | 
						|
--usefull read query
 | 
						|
select bd2.* from ban_detector bd2
 | 
						|
inner join
 | 
						|
(
 | 
						|
SELECT fingerprint,
 | 
						|
       count(*) AS c
 | 
						|
FROM ban_detector bd
 | 
						|
GROUP BY fingerprint
 | 
						|
HAVING c > 1
 | 
						|
ORDER BY c DESC
 | 
						|
) as t
 | 
						|
on bd2.fingerprint = t.fingerprint
 | 
						|
 | 
						|
 | 
						|
 |