[PHP-users 632] Re: PHP 経由の SQL INSERT エラーについて

maya php-users@php.gr.jp
Sun, 8 Jul 2001 23:18:52 +0900


mayaです。

> Warning: PostgresSQL query failed: ERROR: Cannot insert a
> duplicate key into unique index tb_testA_test_pkey in
> test.php3 on line 3
> というエラーが出ました。
PHP経由でもコマンドラインでも
同じinsert文を2回実行したとすればこのようになりますね。
2回目以降は実行されず、実際に1レコードしか存在しないのは当たり前です。

> コマンドラインからINSERTを行いますと、エラーは出ません。
上記の理由でそんなことはないと思うのですが...

> しかし、同一テーブル上にてUNIQUEとSEQUENCEを使いたいのです。
最初のテーブルはそのようになってませんか?
test_idフィールドはsequenceでtest_textフィールドはuniqueですよね。
お作りになられたテーブルは、
「insertをするたびにtest_idは自動的にserial値が入る。
test_textには任意のテキストを入れることが出来るが、
そのときすでにあるtest_textレコードと同じ値をtest_textにinsertしよう
としたらエラーということにしてinsertしない」というテーブルですよ。

# 失礼ながら、どんなテーブルが作りたいのかよく分からないのですが...


maya  maya@akira.ne.jp