MySQL自动将数字转换为字符串错误

问题描述

我的一张桌子遇到了问题。 有时,当在 value 列中输入数字时,该数字将转换为'' 0 或奇怪的符号像Щ¬M

这是它的结构:

CREATE TABLE `table_name` (
    `id` INT(11) NOT NULL DEFAULT '0',`key` VARCHAR(32) NOT NULL DEFAULT '0',`value` TEXT NOT NULL,UNIQUE KEY `id_2` (`id`,`key`),KEY `id` (`ìd`),CONSTRAINT `table_name_ibfk_1` FOREIGN KEY (`id`) REFERENCES `table2` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1

我不知道,但是在使用同一数据库的另一个表的系统中,有一个出现了故障,我必须将sql模式设置为''SET GLOBAL sql_mode = '';才能正常工作。我想知道此模式是否导致报告的问题。我阅读了有关更改sql模式的信息,并意识到这可能会导致数据丢失,这是我目前无法考虑的事情。

因此,如果这是问题的真正原因,那么有没有可能不会丢失数据的解决方案?如果这不是问题所在,有人可以帮助我确定它是什么吗?

PS:由于其他必要信息,列 value 的数据类型必须为 TEXT

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)