如何防止重复条目添加到数据库表?

Sha*_*orm 1 php mysql sql

我有这个PHP/MySQL脚本,它在我的数据库中添加了注释:

$SQL = "INSERT INTO blog_comments (article_id, author_name, comment, path, posted, status) ";
$SQL .= "VALUES (:article_id, :name, :comment, :next_path, Now(), 'Live');";

$STH = $DBH->prepare($SQL);
$STH->bindParam(':article_id', $article_id);
$STH->bindParam(':name', $name);
$STH->bindParam(':comment', $comment);
$STH->bindParam(':next_path', $next_path);
$STH->execute();
Run Code Online (Sandbox Code Playgroud)

有没有办法修改它,以便它不插入相同的[author_name],[article_id][comment]进入此表?我知道通过我的表添加UNIQUE可能会有一列,但不确定多列.

Joh*_*Woo 5

您可以UNIQUE为多列添加约束

CREATE TABLE
(
.....
CONSTRAINT tab_uq UNIQUE (author_name, comment)
)
Run Code Online (Sandbox Code Playgroud)

或通过改变现有的表格,

ALTER TABLE myTable ADD UNIQUE (author_name, comment);
Run Code Online (Sandbox Code Playgroud)