使用Prisma Studio向PostgreSQL插入数据时遇0x00无效字节报错
解决Prisma Studio插入PostgreSQL时的0x00无效字节序列错误
PostgreSQL的字符串类型(text/varchar)不允许包含空字符(0x00),因为它底层采用C风格字符串解析逻辑,空字节会被识别为字符串的结束标记,直接触发无效字节序列错误。结合你提供的信息,问题大概率出在某个字符串字段中混入了隐藏的0x00空字符,具体排查方向如下:
- 检查所有字符串输入值:你输入的
title、content、dueDate、author、authorId这些字段,可能在输入或复制粘贴时带入了不可见的空字节。可以把每个字段内容复制到支持显示不可见字符的编辑器(比如VS Code开启"控制字符"显示),查看是否有标注为NUL的0x00字符。 - 避免手动指定id字段:你的Todo模型已经设置
id为@default(cuid()),会自动生成唯一ID,手动输入的1本身没问题,但如果输入时不小心夹带了空字符,也会触发错误。建议插入时留空id字段,让Prisma自动生成。 - 用代码插入验证:可以尝试通过Prisma Client编写简单的插入代码来验证问题来源:
await prisma.todo.create({ data: { title: "Test", content: "Test sth", dueDate: "10.10.23", authorId: "cljop1hlc0000y8twqe4ee4ao" } });
如果代码插入成功,说明问题出在Prisma Studio的输入环节(比如输入框中存在隐藏空字符);如果代码也报错,那就是某个字段的内容确实包含空字节,需要进一步清理内容后再尝试。
内容的提问来源于stack exchange,提问作者marian
相关产品推荐
相关产品推荐

