繁体   English   中英

如果 mysql db 表不包含具有特定 ID 的行,则向表中添加数据

[英]If mysql db table does not contain row with specific ID , add data to the table

嗨,我是 php 和 mysql 的新手。

我想知道如何使用 PHP 检查我的 mysql 数据库中的表是否包含具有特定 ID 的 ROW,如果没有将数据添加到表中。

例如,

表结构:(表名:记录)ID、DATA

我有 ID=123 和 DATA=hello 存储在 php 代码中的变量中,我如何使用 php sql 查询来确定数据是否存在,如果不存在,请使用 ID 和 DATA 查询检查数据表桌子。

我希望你明白。

p/si 已将 php 脚本连接到数据库

使 ID UNIQUE

CREATE TABLE my_table( ID INT UNSIGNED UNIQUE...

然后使用INSERT IGNORE

INSERT IGNORE INTO my_table( ID, DATA ) VALUES( some_id, some_data )
IF NOT EXISTS(SELECT 1 FROM structure WHERE ID = <yourid>)
   INSERT INTO structure (ID, DATA) VALUES(<yourid>, <yourdata>)

只需将 INSERT 替换为 REPLACE。

http://dev.mysql.com/doc/refman/5.5/en/replace.html

另外的选择:

INSERT INTO record(id, `data`) SELECT 123, 'hello'
FROM new_table WHERE NOT EXISTS (SELECT id from record where id = 123 );

如果你的 ID 是唯一键,那么你可以直接尝试插入行。 如果该 ID 已经在表中,数据库将不允许您插入它并返回错误。 否则,您必须首先运行 SELECT 语句以查看此 ID 是否存在于您的表中,如果不存在则插入它。

这个线程也会对你有很大帮助我认为如何在 MySQL 中“插入如果不存在”?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM