kat*_*tir 25 postgresql insert
在我的LiveCode Server应用程序中,我在插入时返回了一个dberr,但没有明确的错误代码.
我去了一个终端,用手Postgres手工插入.
%My_Dbase=# INSERT INTO new-table (first_name, last_name, anonymous) VALUES ('batman', 'Moonboy', TRUE);
Run Code Online (Sandbox Code Playgroud)
psql进程返回:
INSERT 0 1
Run Code Online (Sandbox Code Playgroud)
这条线是什么意思?除了主表之外,我还有一个序列来递增主表的主键ID(int).
如果我检查数据,插入数据,主键增加1,一切似乎都很好,我不知道为什么我的应用程序返回错误(可能是应用程序或我的代码中的错误).
但如果我知道这INSERT 0 1意味着什么,那将有助于我向自己保证:
0 1表示某种错误.如果有人有PostgreSQL文档的链接,告诉我们这些服务器响应参数是什么,我会研究它...我到处寻找.
Mil*_*dev 36
摘自手册中的相关页面:
输出
成功完成后,INSERT命令将返回表单的命令标记
INSERT oid计数
计数是插入的行数.如果count正好为1,并且目标表具有OID,则oid是分配给插入行的OID.否则oid为零.
令人讨厌的是,我找不到任何关于此的实际文档.
但是看着http://www.postgresql.org/docs/current/interactive/rules-status.html和PQcmdStatus内http://www.postgresql.org/docs/current/interactive/libpq-exec.html,它看来你所看到的是一个命令状态.
我从文档中推断的格式是COMMAND STATUS_CODE ROWS_AFFECTED.
所以你看到的是你已经完成了一个插入,status_code为零,一行受到了影响.
换句话说,您的命令已成功完成!
| 归档时间: |
|
| 查看次数: |
9997 次 |
| 最近记录: |