创建表的CHECK约束时出现语法错误:Incorrect syntax near '̣'
解决CHECK约束创建时的语法错误问题
你的问题出在CHECK关键字后面存在不可见的特殊Unicode字符(并非正常空格),SQL Server解析器无法识别这个无效字符,因此抛出语法错误。
直接删除CHECK和左括号(之间的异常字符,或者重新手动输入这部分代码即可解决。另外,针对Movie表的Rating约束,用IN子句可以让代码更简洁易读:
修正后的SQL语句:
USE Movies GO ALTER TABLE Movie ADD CONSTRAINT CK_Movie CHECK (Rating IN ('G', 'PG', 'R', 'NC17', 'NR')) GO ALTER TABLE Rental ADD CONSTRAINT CK_Due_date CHECK (Due_date >= Rental_date) GO
验证要点:
- 确保
CHECK与(之间仅保留正常空格 IN子句替代多个OR条件,逻辑完全等价且更易维护
内容的提问来源于stack exchange,提问作者Lê Huy
相关产品推荐
相关产品推荐

