フォームから PostgreSQL データベースの複数のデータテーブルにデータを書き込む際に問題が発生しています。
ここに私のデータモデルがあります
CREATE TABLE institutions(i_id PK, name text, memberofstaff REFERENCES staff u_id);
CREATE TABLE staff(u_id PK, username text, password text, institution REFERENCES institutions i_id);
つまり、1:1 の関係です。これらのテーブルはうまく設定されています。それは私が苦労しているPHPスクリプトです。CTE-datamodifying を使用しているか、少なくとも使用しようとしていますが、送信時にエラーが発生し続けます。
PHP:
$conn = pg_connect('database information filled out in code');
$result = pg_query("WITH x AS (
INSERT INTO staff(username, password, institution)
VALUES('$username', '$password', nextval('institutions_i_id_seq'))
RETURNING u_id, i_id)
INSERT INTO institutions (i_id, name, memberofstaff)
SELECT x.i_id, x.u_id, '$institution'
FROM x");
pg_close($conn);
それがコードで、エラーは次のとおりです。
Warning: pg_query() [function.pg-query]: Query failed: ERROR: relation "institutions_i_id_seq" does not exist LINE 3: VALUES('AberLibrary01', '', nextval('institutions_i_id_se... ^ in DIRECTORY LISTING(I replaced this) on line 22
誰でもアイデアはありますか?