Ich benutze MySQL 5.5.37. Ich möchte die Warnungen von meinem Update-Anweisung zu beseitigen, die unter ...Wie überschreibe ich meine MySQL Update-Anweisung, um die Warnungen "Abgeschnittene falsche INTEGER-Werte" zu beseitigen?
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' |
+---------+------+--------------------------------------------------+
gezeigt Was ich nicht verstehe, ist, wie ich meine Frage anders angegeben umschreiben kann, dass keiner der Werte übereinstimmen aktualisiert werden, was die Warnungen beschweren sich darüber. Im Folgenden finden Sie meine Frage, wo ich die unterschiedlichen Werte aufgelistet, die aktualisiert werden ...
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 |
+-----------------------------------------------------------------------+
Wie kann ich eine Update-Anweisung neu zu schreiben, so dass es die gleichen Werte aktualisiert, ohne tryihng falsche Zahlen zu kürzen?
Zeigen Sie Ihre Daten. – olegsv
habe ich schon getan. In der letzten Abfrage "wähle distinct substring_index (substring_index (r.description, 'Grade', -1), '", 1) aus der Ressource r, wo r.description wie'% Grade% 'und CONVERT (SUBSTRING_INDEX (SUBSTRING_INDEX (r .description, 'Note', -1), '', 1), UNSIGNED)> 0; ". Wenn Sie möchten, dass ich eine weitere Abfrage durchführe, sagen Sie mir, was ich ausführen soll. – Dave
Könnten Sie möglicherweise zeigen, was die Daten _raw_ sind und wie das Ergebnis _final_ in der Tabelle (nach dem Update) aussehen soll? –