如果该域名已存在已存在的记录,我想将记录插入表中。以下SQL应该实现此目的但是会出错。
我想首先进行更新的原因是因为我稍后在我的代码中进行了多次更新,并且在进行所有更新之前首先需要我的表中的记录。
为什么我在这个mySQL查询中出错?
insert into domain (name)
values ('domain.com.au')
WHERE NOT EXISTS
(
select name
from domain
where name = 'domain.com.au'
);
分割时的两个查询都可以正常工作但在一起时不能。
答案 0 :(得分:6)
让您的数据库为您处理。在name
上使用唯一索引,如果您尝试插入副本,则INSERT将失败。
CREATE UNIQUE INDEX idx_name ON domain (name)
答案 1 :(得分:0)
您无法将WHERE
与INSERT
子句合并。请改用REPLACE INTO
。
答案 2 :(得分:0)
你得到什么错误?
我的猜测是不允许在'不存在的地方'内选择。