SQL Developer插入UniqueIdentifier数据报错:数据与列定义不兼容的解决
解决SQL Developer中插入UniqueIdentifier类型数据的兼容报错
问题回顾
你在SQL Developer中尝试插入数据时收到报错:
数据与列定义不兼容,或无法用于非空列(原文“nut nullable”应为“non nullable”)
报错涉及的列对应的数据格式为7391DBDF-40D5-E523-80C2-3863BB43AC67,你判断这是UniqueIdentifier类型,但不确定在SQL Developer中该如何正确插入这类数据。
可行解决方案
直接以Varchar类型的形式插入该格式的字符串即可,具体操作如下:
- 编写插入语句时,将UniqueIdentifier格式的字符串用单引号包裹
- 执行插入,数据库会自动将符合格式的字符串隐式转换为UniqueIdentifier类型
示例插入代码:
INSERT INTO your_target_table (target_column, other_columns) VALUES ('7391DBDF-40D5-E523-80C2-3863BB43AC67', '其他列对应的值');
这个方法的核心是利用数据库对UniqueIdentifier类型的隐式转换支持,只要字符串格式符合标准的UniqueIdentifier格式(即带有连字符的32位十六进制字符串),就可以直接作为字符串插入,无需额外的类型转换函数。
内容的提问来源于stack exchange,提问作者Brian H. Truong
相关产品推荐
相关产品推荐

