给出一个简单的表:
PGresult *res = PQexec(usersconn, "CREATE TABLE userfiles (username
varchar[100] PRIMARY KEY, mydata bytea);");
我试图添加一个数据:
PGresult *res = PQexec(usersconn, "INSERT into userfiles VALUES (
'peter' , '\\\\x1A' );" );
或者这个:
PGresult *res = PQexec(usersconn, "INSERT into userfiles VALUES ( 'peter' , '\x1A' );" );
我得到一条关于数组值必须以。。。
在这个记录中插入一个简单的十六进制常量有什么不对的?
最佳答案
十六进制值必须使用转义语法:
INSERT into userfiles VALUES ( 'peter' , e'\\x1A' );
见http://www.postgresql.org/docs/9.3/static/datatype-binary.html
关于postgresql - Postgres 9.3给出错误:十六进制bytea值的数组值必须以…开头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30432143/