Mysql 单次查询“如果找不到列值则插入表”

Mysql 单次查询“如果找不到列值则插入表”,mysql,sql,insert,Mysql,Sql,Insert,当找不到列值时,如何使用单个查询插入表。 例如/我只想在找不到此用户名时插入新用户 我现在要做的是第1期查询,以检查是否存在, 如果找不到现有查询,则执行另一个查询。共2项查询 INSERT INTO friends (memberID) SELECT 1 WHERE NOT EXISTS (SELECT memberID FROM friends WHERE memberID = 1) 这个怎么样: INSERT INTO YourTable (UserName) SELECT x FR

当找不到列值时,如何使用单个查询插入表。 例如/我只想在找不到此用户名时插入新用户

我现在要做的是第1期查询,以检查是否存在, 如果找不到现有查询,则执行另一个查询。共2项查询

 INSERT INTO friends (memberID) SELECT 1 WHERE NOT EXISTS (SELECT memberID FROM friends WHERE memberID =  1)
这个怎么样:

INSERT INTO YourTable (UserName)
SELECT x
FROM (SELECT 'New User Name' AS x) a
      WHERE x NOT IN(SELECT UserName
                     FROM YourTable)
您只需要从双精度中添加


由于您只需要一行具有给定值,因此应使用表上的唯一约束强制执行该行,例如:

ALTER TABLE friends ADD UNIQUE (memberID);
完成此操作后,只需将IGNORE关键字添加到insert语句中,它就不会报告错误,如果已经存在,也不会插入重复的行

INSERT IGNORE INTO friends(memberID) VALUES(1);

您可以使用queryifselect count*from tb_user中的where not exists子句执行此操作,其中userName=@userName=0,然后插入到tb中_user@userName结束如果请发布您的查询到目前为止。您使用的是哪种数据库管理系统?神谕博士后?你好。我正在使用mysql。。。。我试图不起作用的声明
INSERT IGNORE INTO friends(memberID) VALUES(1);