当前位置: 首页 > 知识库问答 >
问题:

是否为列截断数据?

单于经纬
2023-03-14

在更改MySql列的数据类型以存储Twilio调用ID(34个字符字符串)后,我尝试使用以下命令手动更改该列中的数据:

update calls 
   set incoming_Cid='CA9321a83241035b4c3d3e7a4f7aa6970d' 
 where id='1';

但是,我收到一个错误,看到列的数据类型被正确修改而没有意义?

|级别|||代码|消息|警告|1265|第1行“incoming_Cid”列的数据被截断

共有3个答案

鱼安然
2023-03-14

通过发布此声明:

ALTER TABLES call MODIFY incoming_Cid CHAR;

...您省略了长度参数。因此,您的查询相当于:

ALTER TABLE calls MODIFY incoming_Cid CHAR(1);

必须为大于 1 的大小指定字段大小:

ALTER TABLE calls MODIFY incoming_Cid CHAR(34);
齐才艺
2023-03-14

我遇到了同样的问题,因为一个表列被定义为ENUM(“x”,“y”,“z”),后来我试图将值“a”保存到此列中,因此我得到了提到的错误。

通过更改表列定义并将值“a”添加到枚举集中来解决。

司寇高峯
2023-03-14

您的问题是,目前您的incoming_Cid列定义为CHAR(1),而它应该是CHAR(34)

要解决这个问题,只需发出这个命令,将列的长度从1改为34

ALTER TABLE calls CHANGE incoming_Cid incoming_Cid CHAR(34);

这是SQLFiddle演示

 类似资料:
  • 做 截断如果它已经存在?令人惊讶的是,Java的API留档没有说。API也不会留档Java7。语言本身的规范对类的语义学没有什么可说的。 我知道 导致附加到文件。但附加和截断并不是唯一的可能性。如果将100个字节写入1000字节的文件,一种可能性是最后900个字节保持原样。

  • 检查提供的整数是否为素数。 检查数字从 2 到给定数字的平方根。 如果它们中的任何一个可以整除给定的数字,则返回 false ,否则返回 true ,除非数字小于 2 。 const isPrime = num => { const boundary = Math.floor(Math.sqrt(num)); for (var i = 2; i <= boundary; i++) if (

  • 问题内容: 在更改MySql列的数据类型以存储Twilio调用 ID(34个字符字符串)之后,我尝试使用以下方法手动更改该列中的数据: 但是,我看到一个错误,因为正确修改了列的数据类型,所以没有意义吗? 问题答案: 您的问题是,目前您的栏定义为应在何时。 要解决此问题,只需发出此命令即可将列的长度从1更改为34 这是 SQLFiddle 演示

  • 问题内容: 是否有Java库函数可用于将数字截断为任意数量的小数位?例如。 谢谢 问题答案: 像这样尝试BigDecimal的 setScale :

  • 问题内容: 以下GO程序给出了错误: 程序: 为什么我不能使用in类型? 问题答案: 更换 通过 引用规范: 当表达式或赋值中混合了不同的数字类型时,需要进行转换。例如,即使int32和int在特定体系结构上可能具有相同的大小,它们也不是同一类型。 Go使用静态类型输入,不会自动在数字类型之间转换。原因可能是为了避免某些错误。例如,应该产生什么值和什么类型?结果应该是吗? ? ?在Go中,这不是问

  • 问题内容: 有什么方法可以将列表截断(例如到前100个元素),然后丢弃其他列表(无需遍历单个元素)? 问题答案: 用途: 您应该牢记返回项目的视图,因此,如果您希望列表的其余部分有资格进行垃圾回收,则应将想要的项目复制到新的项目: 如果列表短于指定的大小,则应超出范围例外。选择所需大小的最小值和列表的当前大小作为结束索引。 最后,请注意,第二个参数应比上一个所需的索引大一个。