我对SQL很陌生,而且我得到的所有错误都是错误,所以任何帮助将不胜感激。Postgresql插入如果不存在
我有一个标签表:ID,姓名,蛞蝓
我已经Google'd,搜索#2,但没有为我工作。我试图创建一个标签,如果它不存在,但总是返回该ID是否已创建或存在。
INSERT INTO tags (name, slug)
SELECT ('Wow', 'wow')
WHERE NOT EXISTS (SELECT id FROM tags WHERE slug = 'wow')
RETURNING id;
这是我有:http://sqlfiddle.com/#!15/4050a/18
@GordonLinoff:是的。因为'insert'指定了*两个*列,而'select'只有一个列,因此它会产生一个错误:“* INSERT的目标列多于表达式*” – 2014-11-22 22:45:47
。 。谢谢,这说明了它。 – 2014-11-22 23:18:51