У меня есть скрипт php / html для обновления моей базы данных postgresql. Форма работает нормально, то есть она вставляет данные в базу данных. Проблема в том, что каждый раз, когда я открываю веб-страницу для вставки, в базу данных создается пустая запись. Я попытался добавить «SELECT setval (...)» для восстановления последовательности. Это имело эффект избавления от пустых строк, однако не мешало последовательности выходить из строки. Вот что у меня есть софар:
.
.
.
<?php
$db = pg_connect("host=localhost port=5432 dbname=crewdb user=postgres password=XXXXXX");
$query1 = "INSERT INTO access(access_name) VALUES ('$_POST[access_name]')";
$result1 = pg_query($query1);
$query2 = "SELECT setval('access_accessid_seq', (SELECT MAX(accessid) FROM access))";
$result2 = pg_select($query2);
pg_close($db)
?>
Однако проблема все еще не решена. Я получаю такую таблицу:
accessid | access_name
----------+--------------------------------------
1 | good ride on mower access throughout
2 | n\a
3 | no ride on mower acces
4 | partial ride on mower acces
5 | fenced off
7 | Obtacles
Как вы видите, accessid не в порядке. Кто-нибудь знает, как решить эту проблему наиболее эффективным способом? Таблица спецификации:
Column | Type | Collation | Nullable | Default | Storage | Stats target | Description
-------------+---------+-----------+----------+------------------------------+----------+--------------+-------------
accessid | integer | | not null | generated always as identity | plain | |
access_name | text | | not null | | extended | |
Я немного новичок в этом, поэтому спасибо за вашу помощь.