insert - 不存在的地方

Kie*_*ews 4 mysql sql

如果已经存在该域名的记录,我想将记录插入表中.以下SQL应该实现此目的但是会出错.

我想先做更新的原因是因为我稍后在我的代码中进行了多次更新,并且在进行所有更新之前首先需要我的表中的记录.

为什么我在这个mySQL查询中出错?

insert into domain (name) 
values ('domain.com.au') 
WHERE NOT EXISTS 
(
    select name 
    from domain 
    where name = 'domain.com.au'
);
Run Code Online (Sandbox Code Playgroud)

分割时的两个查询都可以正常工作但是在一起时不能.

Jac*_*cob 6

让您的数据库为您处理.使用唯一索引,name如果您尝试插入重复项,INSERT将失败.

CREATE UNIQUE INDEX idx_name ON domain (name)
Run Code Online (Sandbox Code Playgroud)