首页 > 解决方案 > Informix - 创建表时创建外键

问题描述

我可以在这里查看 IBM 页面中的文档:

https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_0103.htm#ids_sqs_0103

但是当我尝试以下操作时,出现错误:

CREATE TABLE relacion_Usuarios_pertenecen_Instituto
 (
  foranea_CI_usuario  REFERENCES Usuarios CI,
  foranea_id_instituto  REFERENCES Institutos id_instituto,
  PRIMARY KEY (foranea_CI_usuario,foranea_id_instituto)
 );

我得到的错误:

  201: A syntax error has occurred.
Error in line 77
Near character position 29

第 77 行是我的代码段的第二行。

我尝试过可能的语法的不同组合,但我总是有一个通用的“语法错误”。

我做错了什么?

标签: foreign-keysinformix

解决方案


正如乔纳森所说,您使用的语法是错误的。它应该是这样的:

--drop table if exists usuarios;
create table Usuarios (CI int UNIQUE);
--drop table if exists institutos;
create table Institutos (id_instituto int UNIQUE);

CREATE TABLE relacion_Usuarios_pertenecen_Instituto
 (
  foranea_CI_usuario INT REFERENCES Usuarios (CI),
  foranea_id_instituto  INT REFERENCES Institutos (id_instituto),
  PRIMARY KEY (foranea_CI_usuario,foranea_id_instituto)
 );

以下页面包含一个基本的引用约束示例:


推荐阅读