我正在尝试向表中添加值,但不会检查该值是否已存在。这就是我到目前为止所做的:
IF NOT EXISTS (
SELECT series.seriesName
FROM series
WHERE series.seriesName='Avengers'
)
BEGIN
INSERT INTO series (seriesName) VALUES 'Avengers'
END;
数据库是Ubuntu上的MySQL数据库
答案 0 :(得分:0)
您可以在此处使用IGNORE
关键字。
它可能看起来像:
INSERT IGNORE INTO series (seriesName) VALUES 'Avengers'
重要的是在seriesName
字段上创建一个唯一键,因为您似乎希望它是唯一的。
当密钥值已经存在时,INSERT IGNORE
不会进行插入。
如果您希望能够为未插入(已存在)的行获取ID(主键值),则可以执行以下操作:
INSERT IGNORE INTO series (seriesName) VALUES 'Avengers'
ON DUPLICATE KEY UPDATE seriesID= LAST_INSERT_ID(seriesID)
然后,无论行是否插入,您都可以使用LAST_INSERT_ID()
函数获取ID。