添加约束如果不是EXISTS对我不起作用

时间:2014-06-18 08:39:47

标签: mysql

我试图测试this ADD CONSTRAINT的解决方案,如果不是EXISTS,但我的代码出错:

IF NOT EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS WHERE
                   CONSTRAINT_SCHEMA = 'mydatabase' AND
                   CONSTRAINT_NAME   = 'tb_uq') THEN
   ALTER TABLE `scrape_xpaths` ADD CONSTRAINT `tb_uq` UNIQUE (`LinkCaption`);
END IF

我收到检查语法错误。

这也不起作用:

IF NOT EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS) THEN

END IF

同样的错误。

约束名称' tb_uq'因为命令而存在:

SELECT NULL FROM information_schema.TABLE_CONSTRAINTS
SELECT * FROM information_schema.TABLE_CONSTRAINTS

工作并返回所有约束,tb_uq就是其中之一。我做错了什么?

这是我第一次添加约束的方式。当然第二次失败了:

ALTER TABLE `mydatabase`.tablename ADD CONSTRAINT tb_uq UNIQUE (LinkCaption);

下面的代码也失败并出现同样的错误:

if (true)
begin

end else
begin

end

0 个答案:

没有答案