mysql无法删除表中数据

mysql执行删除时,因其中一条数据内容问题,无法删除.
DELETE FROM mc_mc WHERE coll_number ='2014.6.1';
修改(更新)也一样
UPDATE mc_mc SET coll_pract_num='1' WHERE coll_number ='2014.6.1'

1292 - Truncated incorrect DOUBLE value: '1(20张)'

使用了gpt的部分回答,你可以参考一下:

根据错误信息 "Truncated incorrect DOUBLE value: '1(20张)'",看起来是由于在执行MySQL删除或更新操作时,数据的类型不匹配导致的问题。

在你提供的情况下,错误出现在 coll_pract_num 列上。该列的类型可能被定义为 DOUBLE,而在执行更新操作时,你试图将一个包含文本和数值的字符串 '1(20张)' 赋值给该列,这是不正确的。

要解决此问题,你需要使用正确的数据类型来操作数据,或者先修改数据后再执行删除或更新操作。

如果 coll_pract_num 的列类型应该是文本类型(如 VARCHAR),你可以通过以下方式修改数据并执行更新操作:

UPDATE mc_mc SET coll_pract_num='1' WHERE coll_number ='2014.6.1' AND coll_pract_num = '120张)';

这样会将匹配到 coll_number 为 '2014.6.1' 并且 coll_pract_num 为 '1(20张)' 的记录的 coll_pract_num 更新为 '1'。

如果 coll_pract_num 的列类型是其他数值类型,比如 INT,你需要根据实际需求进行相应的处理。

请注意,在执行任何更新或删除操作之前,请先备份数据以防意外情况发生。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

谢谢各位大佬的解惑,问题字段的类型为varchar,经排查发现字段内容问题,不能更新和删除是因为触发器中也有引用到该字段