【发布时间】:2018-02-20 20:35:38
【问题描述】:
所以,我有一个 php 脚本,我在其中从数据源获取数据并将其保存到数组中,然后使用 php 将数组值插入到我的 psql 服务器中。
问题是我不希望我的数据库中有任何重复项,因为我会不断更新我的表。于是我查了一下,发现IGNORE INTO是为了避免重复,但是php会抛出一个错误。
此外,由于我的表中没有任何主键,是否仍然可以实现这一点。
我的错误代码:
PHP Fatal error: Uncaught Exception: Error attempting to query: PDOException: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "IGNORE"
我的 php 脚本在 psql 服务器中插入数据
$psql = $stm->pdo_prepared("Insert IGNORE INTO student(student_id,student_email,student_message,student_marks)VALUES".implode(',',$arry1());
提前致谢。
【问题讨论】:
-
没有 PK 的表只是一个糟糕的开始......主键上的唯一性约束可以解决问题
-
INSERT IGNORE没有主键或唯一约束就毫无意义。 -
如果你不告诉你的数据库重复是什么,它应该如何防止插入它们?此外,如果您要说遇到错误,请始终在问题中包含错误。
-
好的,我会在我的数据库中做一个pk。但我很困惑,当我运行我的脚本时,php 在 IGNORE 上抛出了一个语法错误。你们认为那是因为如果我的桌子上没有 pk
-
pdo_prepared()是自定义函数吗?它不是原生函数,也不是我所知道的任何框架使用的函数。