【发布时间】:2018-11-18 17:16:16
【问题描述】:
我用我的 .sql 文件创建了一个数据库:
CREATE SEQUENCE ec_account_id
start 1
increment 1;
create table ec_account
(id serial PRIMARY KEY,
name VARCHAR(40) not null,
password VARCHAR(80) not null,
email VARCHAR(30) not null,
phone VARCHAR(10) not null);
insert into ec_account values (nextval('ec_account_id'),'admin','68dc71d4b0724561008d7665a37d9f8bba008f95836c0caab9656d9f1983d314','123456@gmail.com','123456789');
insert into ec_account values (nextval('ec_account_id'),'dsds','cfb68d2dba58568ff9e223235ff1b77b3cb42c371403832a434112aabc','johnnsySilva@gmail.com','123456789');
我可以通过终端观看它(桌子)。检查html上的密码。一切进展顺利。但是现在我想通过 html 表单将新人员添加到数据库中,并且我希望 id 自动增加,但是我无法在数据库中插入(通过 php)实例,因为当我运行此代码时,我得到了这个错误:
$sql = "INSERT into ec_account values ('nextval('ec_account_id')','$nome','$hashedPass','$email','$telemovel') ";
错误:错误:“ec_account_id”处或附近的语法错误第 1 行:插入 转换为 ec_account 值 ('nextval('ec_account_id')','f...
^
我几乎可以肯定它与下一个 val 有关,但我不知道如何解决它。有人可以澄清一下吗?我不想承担必须记住已经在 ec_account 表中注册了多少人的责任,我认为这是每当我插入新行时自动递增主键的方法。
【问题讨论】:
-
我认为您的
nextval不应被引用,它与数据库查询不匹配。我不知道postgresql,所以这是一个猜测。
标签: php postgresql