MySQL 5.5.37을 사용하고 있습니다. 나는"올바르지 않은 INTEGER 값 잘림"경고를 제거하기 위해 MySQL 업데이트 문을 어떻게 다시 작성합니까?
update resource r
set grade_id = convert(substring_index(substring_index(
r.description, 'Grade ', -1), ' ', 1), unsigned integer)
where r.description like '% Grade%'
and CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(
r.description, 'Grade ', -1), ' ' ,1),UNSIGNED) > 0;
Query OK, 0 rows affected, 7 warnings (0.02 sec)
Rows matched: 1333 Changed: 0 Warnings: 7
mysql> show warnings;
+---------+------+--------------------------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '' |
| Warning | 1292 | Truncated incorrect INTEGER value: '' |
| Warning | 1292 | Truncated incorrect INTEGER value: '' |
| Warning | 1292 | Truncated incorrect INTEGER value: 'MyCo' |
| Warning | 1292 | Truncated incorrect INTEGER value: 'MyCo' |
| Warning | 1292 | Truncated incorrect INTEGER value: 'MyCo' |
| Warning | 1292 | Truncated incorrect INTEGER value: 'MyCo' |
+---------+------+--------------------------------------------------+
내가 이해하지 못하는 것은 내가 다르게 값 중 어느 것도 일치를 업데이트되고 있지 주어진 내 쿼리를 다시 작성하는 방법입니다 ... 다음과 같습니다 내 업데이트 문에서 경고를 제거 할 것을 경고 에 대해 불평하고있다. 아래는 내가 업데이트되는 고유 한 값을 나열 내 쿼리 ...
mysql> select distinct substring_index(substring_index(
r.description, 'Grade ', -1), ' ', 1)
from resource r
where r.description like '% Grade%'
and CONVERT(SUBSTRING_INDEX(SUBSTRING_INDEX(
r.description, 'Grade ',-1),' ',1),UNSIGNED) > 0;
+-----------------------------------------------------------------------+
| substring_index(substring_index(r.description, 'Grade ', -1), ' ', 1) |
+-----------------------------------------------------------------------+
| 7 |
| 8 |
| 11 |
| 9 |
| 12 |
| 10 |
| 6 |
+-----------------------------------------------------------------------+
어떻게 그것이 잘못된 정수를 잘라내는 tryihng없이 같은 값을 갱신 그래서 내 업데이트 문을 다시 할 무엇입니까?
데이터 표시. – olegsv
나는 벌써했다. 마지막 질의에서 "r.description과 같은 '% Grade %'와 CONVERT (SUBSTRING_INDEX (SUBSTRING_INDEX (r), r ',' .description, 'Grade', -1), '', 1), UNSIGNED)> 0; ". 내가 다른 쿼리를 실행하기를 원한다면, 내가 원하는 것을 말해줘. – Dave
_raw_ 데이터가 무엇인지 그리고 _final_ 결과를 테이블 (업데이트 후)에서 원하는대로 표시 할 수 있습니까? –