foreign-keys - 如何在 Sybase 数据库中创建外键?
问题描述
我的数据库中有两个表应该与 PK 和 FK 连接。以下是表 1 的示例:
RecID(numeric(19,0)) PK CLUSTERED
Name(varchar(100))
Description(varchar(5000))
然后我想创建第二个将引用表 1 的表。这是我到目前为止的代码示例:
CREATE TABLE table2(
RefID bigint,
Status bit,
Comments varchar(8000),
FOREIGN KEY fk1(RefID) REFERENCES table1(RecID)
)
表 2 中的 RefID 应该是表 1 中的外键和对 RecID 的引用。当我在 DBeaver for Sybase 中运行上面的代码时,这是我得到的错误消息:
SQL Error [102] [37000]: Incorrect syntax near 'fk1'.
Incorrect syntax near 'fk1'.
如果有人能告诉我我的代码在哪里被破坏,请告诉我。我不确定这是否与 DBeaver 有关,或者我的语法不正确。
解决方案
您正在使用不受支持的语法。您必须使用CONSTRAINT子句。此外,类型不匹配,您应该使用与其他表相同的列类型。有效的代码是:
CREATE TABLE table2(
RefID numeric(19,0),
Status bit,
Comments varchar(8000),
constraint fk1 foreign key (RefID) REFERENCES table1(RecID)
)
推荐阅读
- python - 如何在mac上为Python导入win32
- c# - C# .net MVC Http 客户端.GetAsync(ListOfUrls)
- python-3.x - Python Dash-uploader 上传多个文件
- awk - 自动化 awk getline 用户输入变量分配 (zsh)
- javascript - 我正在使用 express 制作服务器,但他找不到我的静态文件
- node.js - Passport & Sequelize 如何在本地策略中引用 req.user 来编辑数据?
- opengl - 操作系统的OpenGL
- sql - 尝试使用宏/SQL 语句从表中删除 (Ms Access)
- python - 计算通过 ax.quiver 绘制的 u10、v10 风分量的 p 值
- swiftui - SwiftUI 不均匀滚动