无法更新我的表列的约束

发布于 2025-02-14 01:37:52 字数 226 浏览 0 评论 0原文

我正在写下以下命令,以使我的列列表pname成为外键,但是它给了我一个错误。

ora-00905:缺少关键字

  SQL> alter table programs alter column pname varchar2(20) foreign key references programmer(pname);

I am writing below command to make my column pname of table programs a foreign key, but the it gives me an error saying

ORA-00905: missing keyword

  SQL> alter table programs alter column pname varchar2(20) foreign key references programmer(pname);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你好,陌生人 2025-02-21 01:37:53

您要使用添加约束

ALTER TABLE programs                            -- table name
  ADD CONSTRAINT programs__pname__fk            -- constraint name
  FOREIGN KEY (pname)                           -- column to apply the constraint to
  REFERENCES programmer(pname)                  -- table and column to reference

db<> fiddle 此处

You want to use ADD CONSTRAINT:

ALTER TABLE programs                            -- table name
  ADD CONSTRAINT programs__pname__fk            -- constraint name
  FOREIGN KEY (pname)                           -- column to apply the constraint to
  REFERENCES programmer(pname)                  -- table and column to reference

db<>fiddle here

秋心╮凉 2025-02-21 01:37:52

测试案例:

SQL> create table programmer (pname varchar2(20) primary key);

Table created.

SQL> create table programs (pname varchar2(10));

Table created.

更改表:

SQL> alter table programs modify pname varchar2(20);

Table altered.

SQL> alter table programs add constraint fk_prog_ammer
  2    foreign key (pname) references programmer (pname);

Table altered.

SQL>

Test case:

SQL> create table programmer (pname varchar2(20) primary key);

Table created.

SQL> create table programs (pname varchar2(10));

Table created.

Altering the table:

SQL> alter table programs modify pname varchar2(20);

Table altered.

SQL> alter table programs add constraint fk_prog_ammer
  2    foreign key (pname) references programmer (pname);

Table altered.

SQL>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文