SQL 从 HTML 输入并检查是否已存在
SQL INSERT from HTML Input with checking for already existing
使用 HTML/php Web 界面,我将一些变量放入 mysql 数据库。
查询工作正常,如下所示:
INSERT INTO ". $tabledb_stack ." (ANr, Operator) VALUES ('". $ANr ."', '". $Operator ."')
但现在我需要检查 ANr 值是否已经在数据库中。
但只有 ANr 编号,没有其他值。那么它不应该将它写入数据库。
我尝试使用 WHERE NOT EXISTS 语句,但它不起作用。
有什么提示可以尝试吗?
感谢
如果 ANr
列分配有主键或唯一键,则可以使用 INSERT INTO x ON DUPLICATE KEY UPDATE ANr = ANr
,因此它不会更新任何行,如果 ANr
会有任何不依赖于 Operator
列的现有行。
如果 ANr
可以有多个 Operator
,则可以使用 INSERT IGNORE INTO
。因此,如果已经存在带有 ANr + Operator
的行,它将忽略插入。
有关更多信息,请随时阅读此处的 MySQL 文档 - https://dev.mysql.com/doc/refman/8.0/en/insert.html
使用 HTML/php Web 界面,我将一些变量放入 mysql 数据库。 查询工作正常,如下所示:
INSERT INTO ". $tabledb_stack ." (ANr, Operator) VALUES ('". $ANr ."', '". $Operator ."')
但现在我需要检查 ANr 值是否已经在数据库中。 但只有 ANr 编号,没有其他值。那么它不应该将它写入数据库。 我尝试使用 WHERE NOT EXISTS 语句,但它不起作用。
有什么提示可以尝试吗?
感谢
如果 ANr
列分配有主键或唯一键,则可以使用 INSERT INTO x ON DUPLICATE KEY UPDATE ANr = ANr
,因此它不会更新任何行,如果 ANr
会有任何不依赖于 Operator
列的现有行。
如果 ANr
可以有多个 Operator
,则可以使用 INSERT IGNORE INTO
。因此,如果已经存在带有 ANr + Operator
的行,它将忽略插入。
有关更多信息,请随时阅读此处的 MySQL 文档 - https://dev.mysql.com/doc/refman/8.0/en/insert.html