Azure Data Studio显示调整及SQL外键约束报错技术问询
问题1:Azure Data Studio中放大显示内容
- 界面缩放:点击顶部菜单栏「查看」→「缩放」,选择放大选项;或用快捷键
Ctrl+=多次放大,Ctrl+-缩小,Ctrl+0恢复默认 - 字体大小调整:点击「文件」→「首选项」→「设置」,搜索
font size,修改「Editor: Font Size」的数值,保存后实时生效 - 高对比度主题:在「首选项」→「颜色主题」中选择高对比度主题,提升字符辨识度,降低混淆概率
问题2:SQL代码报错修复
报错原因
- 删除表顺序错误:
Films表通过外键关联了Director/Star/Genre表,直接删除主表会被外键约束阻止,必须先删除依赖表Films - 列名拼写混淆:创建
Director/Star/Genre表时,主键列用了小写字母l(如DirectorlD),和外键引用的大写字母I(如DirectorID)不匹配,后续会导致外键关联失败
修复后代码
-- 先删除依赖表Films IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'Films') DROP TABLE Films -- 再删除主表 IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'Director') DROP TABLE Director CREATE TABLE Director ( DirectorID int IDENTITY(1,1) NOT NULL, Director_FirstName varchar(20), Director_LastName varchar(25), CONSTRAINT Director_PK PRIMARY KEY (DirectorID) ) IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'Star') DROP TABLE Star CREATE TABLE Star ( StarID int IDENTITY(1,1) NOT NULL, Star_FirstName varchar(20), Star_LastName varchar(20), CONSTRAINT Star_PK PRIMARY KEY (StarID) ) IF EXISTS (SELECT 1 FROM sys.tables WHERE name = 'Genre') DROP TABLE Genre CREATE TABLE Genre ( GenreID int IDENTITY(1,1) NOT NULL, Genre varchar(28), CONSTRAINT Genre_PK PRIMARY KEY (GenreID) ) CREATE TABLE Films ( FilmsID int IDENTITY(1,1) NOT NULL, Title varchar(49), Rating NUMERIC(3,1), DirectorID int, StarID int, GenreID int, CONSTRAINT FilmsID_PK PRIMARY KEY (FilmsID) ) ALTER TABLE Films ADD CONSTRAINT fk1 FOREIGN key(DirectorID) REFERENCES Director(DirectorID); ALTER TABLE Films ADD CONSTRAINT fk2 FOREIGN key(StarID) REFERENCES Star(StarID); ALTER TABLE Films ADD CONSTRAINT fk3 FOREIGN key(GenreID) REFERENCES Genre(GenreID);
注意事项
- 删除关联表必须遵循「先删依赖表,再删主表」的顺序,避开外键约束限制
- 针对字符混淆问题,建议统一命名规则(如主键列用
XXXID,全部使用大写I),同时可在Azure Data Studio设置中禁用字体连字(搜索font ligatures,设置为false),减少相似字符的视觉干扰
内容的提问来源于stack exchange,提问作者David Mead
相关产品推荐
相关产品推荐

