嗨,我是php和mysql的新手。
我想知道如何使用PHP检查我的mysql数据库中的表是否包含具有特定ID的ROW,如果没有将数据添加到表中。
例如,
表结构:(表名:记录) ID,DATA
我有ID = 123和DATA = hello存储在php代码中的变量中,我如何使用php sql查询通过检查表中的ID 来查明数据是否存在如果没有,则将ID和DATA插入表中。
我希望你明白。
p / s我已将php脚本连接到数据库
答案 0 :(得分:3)
制作身份证UNIQUE
:
CREATE TABLE my_table( ID INT UNSIGNED UNIQUE...
然后使用INSERT IGNORE
:
INSERT IGNORE INTO my_table( ID, DATA ) VALUES( some_id, some_data )
答案 1 :(得分:2)
IF NOT EXISTS(SELECT 1 FROM structure WHERE ID = <yourid>)
INSERT INTO structure (ID, DATA) VALUES(<yourid>, <yourdata>)
答案 2 :(得分:1)
只需用REPLACE替换INSERT。
答案 3 :(得分:1)
另一种选择:
INSERT INTO record(id, `data`) SELECT 123, 'hello'
FROM new_table WHERE NOT EXISTS (SELECT id from record where id = 123 );
答案 4 :(得分:0)
如果您的ID是唯一键,则可以直接尝试插入行。如果该ID已经在表中,则数据库不允许您插入它并返回错误。否则,您必须首先运行SELECT语句,以查看您的表中是否存在此ID,如果没有,则插入它。
此线程也会帮助你很多我认为How to 'insert if not exists' in MySQL?