我正在 View 上运行 count(*),但出现以下错误。该 View 有多个连接和 View 。但是这个错误应该只在更改表字段上的值时发生,对吗?
mysql> select count(*) from dm.vSscore24 ;
ERROR 1406 (22001): Data too long for column 'pbs' at row 1
mysql>
db info
mysql> show variables like '%version%';
+-------------------------+-----------------------------+
| Variable_name | Value |
+-------------------------+-----------------------------+
| innodb_version | 5.7.20 |
| protocol_version | 10 |
| slave_type_conversions | |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.20-0ubuntu0.16.04.1-log |
| version_comment | (Ubuntu) |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-----------------------------+
谢谢。
最佳答案
发现问题。
这是一个在 View 内调用的函数,该 View 的变量(名为pbshape)对于列的最大大小来说太小。
幸运的是,任何地方(表或 View 中)都没有名为“pbs”的列,这让我感到奇怪。 如果变量被命名为bs,我想我永远找不到答案:P
错误消息“数据对于列来说太长”中的“列”一词极具误导性。
谢谢大家
关于mysql select count(*) 导致数据对于列来说太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48113723/