0
서버 버전 인 MySQL의 삽입 쿼리를 거부한다. 라우터는 1 분마다 임의로 삽입 쿼리를 보냅니다. 삽입 쿼리의 예는특히 열이 제로 (0)
테이블 스키마INSERT INTO radacct(acctsessionid,acctuniqueid,username,realm,nasipaddress,
nasportid,nasporttype,acctstarttime,acctstoptime,acctsessiontime, acctauthentic,
connectinfo_start, connectinfo_stop, acctinputoctets, acctoutputoctets,
calledstationid,callingstationid, acctterminatecause, servicetype, framedprotocol,
framedipaddress, acctstartdelay, acctstopdelay, xascendsessionsvrkey)
VALUES ('25', 'bv4545ae155701','batmanuser', '', '192.168.1.100', '991990188',
'Ethernet', '2016-08-25 19:15:40', NULL, '0','RADIUS', '','', '0', '0', '',
'55:6t:33:xy:59:9o', '','Framed-User', 'PPP', '10.57.16.0','0', '0', '');
: 문제가 "0"
을 갖는 테이블 필드 "acctinputoctets"
및 "acctoutputoctets"
입니다
+----------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+-------------+------+-----+---------+----------------+
| radacctid | bigint(21) | NO | PRI | NULL | auto_increment |
| acctsessionid | varchar(32) | NO | MUL | | |
| acctuniqueid | varchar(32) | NO | MUL | | |
| username | varchar(64) | NO | MUL | | |
| groupname | varchar(64) | NO | | | |
| realm | varchar(64) | YES | | | |
| nasipaddress | varchar(15) | NO | MUL | | |
| nasportid | varchar(15) | YES | | NULL | |
| nasporttype | varchar(32) | YES | | NULL | |
| acctstarttime | datetime | YES | MUL | NULL | |
| acctstoptime | datetime | YES | MUL | NULL | |
| acctsessiontime | int(12) | YES | MUL | NULL | |
| acctauthentic | varchar(32) | YES | | NULL | |
| connectinfo_start | varchar(50) | YES | | NULL | |
| connectinfo_stop | varchar(50) | YES | | NULL | |
| acctinputoctets | bigint(20) | YES | | NULL | |
| acctoutputoctets | bigint(20) | YES | | NULL | |
| calledstationid | varchar(50) | NO | | | |
| callingstationid | varchar(50) | NO | | | |
| acctterminatecause | varchar(32) | NO | | | |
| servicetype | varchar(32) | YES | | NULL | |
| framedprotocol | varchar(32) | YES | | NULL | |
| framedipaddress | varchar(15) | NO | MUL | | |
| acctstartdelay | int(12) | YES | | NULL | |
| acctstopdelay | int(12) | YES | | NULL | |
| xascendsessionsvrkey | varchar(10) | YES | | NULL | |
+----------------------+-------------+------+-----+---------+----------------+
더 우리에게 사용 및 0 값을 갖는 축적 된 행이 없습니다 서버에 공간이 많이 소요 . 삽입 쿼리에 대한 제어권이 없습니다. 삽입 쿼리를 어떻게 거부합니까?
mysql> delimiter $$
mysql> create trigger blockZero before insert on radacct
-> for each row
-> begin
-> if new.val < 1 then
-> signal sqlstate '45000';
-> end if;
-> end;$$
Query OK, 0 rows affected (0.01 sec)
당신은 테이블 변경을 요청하거나 거부 – Drew
0,0 항목을 거부 2 개의 필드에 대해서 0,0 엔트리를 가지는 삽입 쿼리 radacct 테이블 –
check 제약 조건이 작동하지 않습니다. 삽입 트리거는 "전혀 신경 쓰지 않아"라고 말할 수 없습니다. – Drew