반응형
SQL 행이 삭제되지 않습니다.에러 발생 없음
DB에 삭제할 수 없는 행이 있습니다.이 SQL을 python으로 실행했는데 다음 오류가 발생했습니다.
MariaDB [cryptotrader2]> INSERT INTO `trades` VALUES("gemini",2465337307,17317.010000,0.008923,1513178949);
ERROR 1062 (23000): Duplicate entry 'gemini-2147483647' for key 'PRIMARY'
이상하네, 내가 그 엔트리에 영향을 주지 않으니깐.exchange='ini'라는 행이 하나밖에 없고 exchange='ini'라는 엔트리를 삭제하거나 다른 엔트리를 추가할 수 없습니다.아니면 적어도 내 파이썬 프로그램에서 나온 게 아니거나.아래와 같이 수동으로 입력했습니다.다른 교환명의 엔트리에 문제가 있는 것은 아니고, 제미니일 뿐입니다.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 84
Server version: 10.0.30-MariaDB-0+deb8u1 (Debian)
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [cryptotrader2]> select * from trades where exchange='gemini'
->
-> ;
+----------+------------+----------+------------+------------+
| exchange | trade_id | price | volume | timestamp |
+----------+------------+----------+------------+------------+
| gemini | 2147483647 | 17395.80 | 0.06573300 | 1513178007 |
+----------+------------+----------+------------+------------+
1 row in set (0.00 sec)
MariaDB [cryptotrader2]> delete from trades where exchange='gemini';
Query OK, 1 row affected (0.01 sec)
MariaDB [cryptotrader2]> select * from trades where exchange='gemini';
+----------+------------+----------+------------+------------+
| exchange | trade_id | price | volume | timestamp |
+----------+------------+----------+------------+------------+
| gemini | 2147483647 | 17385.33 | 0.07917300 | 1513178234 |
+----------+------------+----------+------------+------------+
1 row in set (0.00 sec)
MariaDB [cryptotrader2]> insert into trades values ('gemini',1234564560,17000,1,1513178235);
Query OK, 1 row affected (0.00 sec)
MariaDB [cryptotrader2]> select * from trades where exchange='gemini'; +----------+------------+----------+------------+------------+
| exchange | trade_id | price | volume | timestamp |
+----------+------------+----------+------------+------------+
| gemini | 1234564560 | 17000.00 | 1.00000000 | 1513178235 |
| gemini | 2147483647 | 17385.33 | 0.07917300 | 1513178234 |
+----------+------------+----------+------------+------------+
2 rows in set (0.01 sec)
MariaDB [cryptotrader2]> delete from trades where exchange='gemini'; Query OK, 2 rows affected (0.00 sec)
MariaDB [cryptotrader2]> select * from trades where exchange='gemini';
+----------+------------+----------+------------+------------+
| exchange | trade_id | price | volume | timestamp |
+----------+------------+----------+------------+------------+
| gemini | 2147483647 | 17390.16 | 0.87946700 | 1513178350 |
+----------+------------+----------+------------+------------+
1 row in set (0.00 sec)
확실히 삭제되고 있습니다만, 제미니 엔트리를 작성하기 위해서 격분하고 있는 것이 있습니다.가격, 볼륨 및 타임스탬프의 변화를 확인하십시오.
이 에러의 원인은 INT의 최대 부호치가 2147483647이라고 말할 수 있습니다.더 큰 값(2465337307)을 삽입하려고 하면 최대값으로 잘려나갑니다.이 경우 gemini, 2147483647에 대한 엔트리가 이미 있습니다.삽입을 시도하다
INSERT INTO `trades` VALUES("gemini",2147483646,17317.010000,0.008923,1513178949);
python 프로그램을 사용합니다.
언급URL : https://stackoverflow.com/questions/47798178/sql-row-wont-delete-throws-no-error
반응형
'programing' 카테고리의 다른 글
설치 후 즉시 MariaDB 서비스가 실패함(CentOS7 (0) | 2022.10.01 |
---|---|
Intelij IDEA에서 regex를 사용하여 대소문자를 소문자로 대체하려면 어떻게 해야 합니까? (0) | 2022.10.01 |
localhost(xampp)에서 MySQL strict 모드를 켜거나 끄려면 어떻게 해야 합니까? (0) | 2022.09.29 |
PHP의 cURL 코드가 출력을 페이지에 덤프합니다. (0) | 2022.09.29 |
WooCommerce:데이터베이스에서 제품 찾기 (0) | 2022.09.29 |