如果新行不存在,则将新行添加到数据库

时间:2014-04-01 17:53:59

标签: sql

如果新用户不存在,我该如何才能添加新用户?

以下是我目前如何将新用户插入数据库

assert(typeof details.username === 'string');
db.execute("INSERT INTO user (??) VALUES (?)",
    [
        ['username'],
        [details.username]

2 个答案:

答案 0 :(得分:1)

只需更改列集UNIQUE属性。

嗯,听起来你的桌子上只有一列。

因此,如果要插入值,则必须将列设置为UNIQUE。 请参阅:http://technet.microsoft.com/en-us/library/ms191166(v=sql.105).aspx

答案 1 :(得分:0)

有很多选项,一个是纯SQL,不需要任何事务检查作为原子语句:

INSERT INTO USER
select ? as username where not exists (select 1 from user where username = ?)