首页 \ 问答 \ 外键SQL Server(Foreign Key SQL Server)

外键SQL Server(Foreign Key SQL Server)

我在sql server 2005中创建了一个学生数据库,但它给了我关于外键的错误,请查看其中的问题。

 CREATE TABLE STUDENT
(
STUDENT_REGNO  INT  NOT NULL PRIMARY KEY,
STUDENT_FIRSTNAME VARCHAR(30) NOT NULL,
STUDENT_LASTNAME VARCHAR(20) NOT NULL,
STUDENT_FATHER_NAME VARCHAR(30) NOT NULL,
STUDENT_EMAIL VARCHAR(20),
STUDENT_MOBILE_NO VARCHAR(15),
STUDENT_PHONE_NO VARCHAR(15),
STUDENT_ADDRESS VARCHAR (40),
DEPARTMENT_ID INT   CONSTRAINT DEP_1 FOREIGN KEY
 REFERENCES DEPARTMENT(DEPARTMENT_ID),
ACADEMIC_ID INT CONSTRAINT ACDEMIC FOREIGN KEY
REFERENCES ACADEMIC(ACADEMIC_ID),
CLASS_NAME VARCHAR(20) CONSTRAINT CLASS_1 FOREIGN KEY 
REFERENCES CLASS(CLASS_NAME)
)
CREATE TABLE FACULTY
(
FACULTY_ID INT  NOT NULL PRIMARY KEY,
FACULTY_NAME VARCHAR(20) NOT NULL,
FACULTY_FATHER_NAME VARCHAR(30) NOT NULL,
FACULTY_EMAIL VARCHAR(20),
FACULTY_ADDRESS VARCHAR(40) NOT NULL,
FACULTY_MOBILE_NO VARCHAR(30),
FACULTY_PHONE_NO VARCHAR(20),
FACULTY_QUALIFICATION VARCHAR(20),
DEPARTMENT_ID INT CONSTRAINT DEPARTEMNT_2 FOREIGN KEY 
REFERENCES DEPARTMENT(DEPARTMENT_ID),
ACADEMIC_ID INT CONSTRAINT ACADEMIC_1 FOREIGN KEY
REFERENCES ACADEMIC(ACADEMIC_ID)
)
CREATE TABLE USER1
(
USERNAME VARCHAR(20) NOT NULL,
USER_PASSWORD VARCHAR(6) NOT NULL,
USER_TYPE VARCHAR(20) NOT NULL,

)
CREATE TABLE DEPARTMENT
(
DEPARTMENT_ID int NOT NULL PRIMARY KEY,
DEPARTMENT_NAME VARCHAR(20) NOT NULL,
DEAPRTMENT_OFFICE_NO VARCHAR(20),
)
CREATE TABLE CLASS
(
CLASS_NAME VARCHAR(20) NOT NULL,
CLASS_STRENGTH INT NOT NULL,
)
CREATE TABLE ANNOUNCMENT
(
ANNOUNCMENT_ID int NOT NULL PRIMARY KEY,
ANNOUNCMENT_DESCRIPTION VARCHAR(50),
ANNOUNCMENT_TITLE VARCHAR(45)
)
CREATE TABLE FORUM
(
FORUM_ID int NOT NULL PRIMARY KEY,
FORUM_NAME VARCHAR(35) NOT NULL,
FORUM_DESCRIPTION VARCHAR(333),
FORUM_DISCUSSION VARCHAR(22),
POSTED_BY VARCHAR(34)
)
CREATE TABLE GRADE
(
LETTER_GRADE CHAR NOT NULL ,
PERCENTAGE FLOAT NOT NULL,
STUDENT_REGNO int CONSTRAINT STUDENT_5 FOREIGN KEY(STUDENT)
REFERENCES STUDENT(STUDENT_REGNO),
COURSE_ID int CONSTRAINT COURSE_1 FOREIGN KEY(COURSE)
REFERENCES COURSE(COURSE_ID)
)
CREATE TABLE COURSE
(
COURSE_NAME VARCHAR(20) NOT NULL,
COURSE_CREDIT_HR INT NOT NULL,
COURSE_DESCRIPTION VARCHAR(99),
)
CREATE TABLE TERM
(
TERM_START_DATE DATETIME NOT NULL,
TERM_END_DATE DATETIME NOT NULL,
student_regno int CONSTRAINT STUDENT_2 FOREIGN KEY(STUDENT)
REFERENCES STUDENT(STUDENT_REGNO)
)
CREATE TABLE PREVIOUS_ACADEMIC_INFO
(
ACADEMIC_ID int NOT NULL PRIMARY KEY,
DEGREE_DESCRIPTION VARCHAR(50),
CERTIFICATION VARCHAR(30),
DURATION DATETIME
)
CREATE TABLE TEACHER_COURSE
(
AREA_OF_SPECILIZATION VARCHAR(30),
faculty_id int CONSTRAINT FACULTY_1 FOREIGN KEY(FACULTY)
REFERENCES FACULTY(FACULTY_ID)
)

第一个错误是

消息1769,16级,状态1,第65行
外键'STUDENT_5'在引用表'GRADE'时引用了无效的列'STUDENT'。
Msg 1750,Level 16,State 0,Line 65
无法创建约束。 查看以前的错误


i am creating a student database in sql server 2005 but it gives me error regarding foreign keys please check whats the problem in it.

 CREATE TABLE STUDENT
(
STUDENT_REGNO  INT  NOT NULL PRIMARY KEY,
STUDENT_FIRSTNAME VARCHAR(30) NOT NULL,
STUDENT_LASTNAME VARCHAR(20) NOT NULL,
STUDENT_FATHER_NAME VARCHAR(30) NOT NULL,
STUDENT_EMAIL VARCHAR(20),
STUDENT_MOBILE_NO VARCHAR(15),
STUDENT_PHONE_NO VARCHAR(15),
STUDENT_ADDRESS VARCHAR (40),
DEPARTMENT_ID INT   CONSTRAINT DEP_1 FOREIGN KEY
 REFERENCES DEPARTMENT(DEPARTMENT_ID),
ACADEMIC_ID INT CONSTRAINT ACDEMIC FOREIGN KEY
REFERENCES ACADEMIC(ACADEMIC_ID),
CLASS_NAME VARCHAR(20) CONSTRAINT CLASS_1 FOREIGN KEY 
REFERENCES CLASS(CLASS_NAME)
)
CREATE TABLE FACULTY
(
FACULTY_ID INT  NOT NULL PRIMARY KEY,
FACULTY_NAME VARCHAR(20) NOT NULL,
FACULTY_FATHER_NAME VARCHAR(30) NOT NULL,
FACULTY_EMAIL VARCHAR(20),
FACULTY_ADDRESS VARCHAR(40) NOT NULL,
FACULTY_MOBILE_NO VARCHAR(30),
FACULTY_PHONE_NO VARCHAR(20),
FACULTY_QUALIFICATION VARCHAR(20),
DEPARTMENT_ID INT CONSTRAINT DEPARTEMNT_2 FOREIGN KEY 
REFERENCES DEPARTMENT(DEPARTMENT_ID),
ACADEMIC_ID INT CONSTRAINT ACADEMIC_1 FOREIGN KEY
REFERENCES ACADEMIC(ACADEMIC_ID)
)
CREATE TABLE USER1
(
USERNAME VARCHAR(20) NOT NULL,
USER_PASSWORD VARCHAR(6) NOT NULL,
USER_TYPE VARCHAR(20) NOT NULL,

)
CREATE TABLE DEPARTMENT
(
DEPARTMENT_ID int NOT NULL PRIMARY KEY,
DEPARTMENT_NAME VARCHAR(20) NOT NULL,
DEAPRTMENT_OFFICE_NO VARCHAR(20),
)
CREATE TABLE CLASS
(
CLASS_NAME VARCHAR(20) NOT NULL,
CLASS_STRENGTH INT NOT NULL,
)
CREATE TABLE ANNOUNCMENT
(
ANNOUNCMENT_ID int NOT NULL PRIMARY KEY,
ANNOUNCMENT_DESCRIPTION VARCHAR(50),
ANNOUNCMENT_TITLE VARCHAR(45)
)
CREATE TABLE FORUM
(
FORUM_ID int NOT NULL PRIMARY KEY,
FORUM_NAME VARCHAR(35) NOT NULL,
FORUM_DESCRIPTION VARCHAR(333),
FORUM_DISCUSSION VARCHAR(22),
POSTED_BY VARCHAR(34)
)
CREATE TABLE GRADE
(
LETTER_GRADE CHAR NOT NULL ,
PERCENTAGE FLOAT NOT NULL,
STUDENT_REGNO int CONSTRAINT STUDENT_5 FOREIGN KEY(STUDENT)
REFERENCES STUDENT(STUDENT_REGNO),
COURSE_ID int CONSTRAINT COURSE_1 FOREIGN KEY(COURSE)
REFERENCES COURSE(COURSE_ID)
)
CREATE TABLE COURSE
(
COURSE_NAME VARCHAR(20) NOT NULL,
COURSE_CREDIT_HR INT NOT NULL,
COURSE_DESCRIPTION VARCHAR(99),
)
CREATE TABLE TERM
(
TERM_START_DATE DATETIME NOT NULL,
TERM_END_DATE DATETIME NOT NULL,
student_regno int CONSTRAINT STUDENT_2 FOREIGN KEY(STUDENT)
REFERENCES STUDENT(STUDENT_REGNO)
)
CREATE TABLE PREVIOUS_ACADEMIC_INFO
(
ACADEMIC_ID int NOT NULL PRIMARY KEY,
DEGREE_DESCRIPTION VARCHAR(50),
CERTIFICATION VARCHAR(30),
DURATION DATETIME
)
CREATE TABLE TEACHER_COURSE
(
AREA_OF_SPECILIZATION VARCHAR(30),
faculty_id int CONSTRAINT FACULTY_1 FOREIGN KEY(FACULTY)
REFERENCES FACULTY(FACULTY_ID)
)

and first error is

Msg 1769, Level 16, State 1, Line 65
Foreign key 'STUDENT_5' references invalid column 'STUDENT' in referencing table 'GRADE'.
Msg 1750, Level 16, State 0, Line 65
Could not create constraint. See previous errors


原文:https://stackoverflow.com/questions/5927848
更新时间:2023-08-29 19:08

最满意答案

这是一个红宝石贝叶斯分类器 ,可以训练阻止某些类型的内容。 直接应用于您的问题需要一些创造力。

它是一项商业服务,但SocialMod值得一提。


Here is a ruby Bayesian Classifier which can be trained to block certain types of content. It would take some creativity to apply directly to your problem.

Its a commercial service, but SocialMod is worth a mention.

相关问答

更多
  • 它不会起作用,因为它不是正确的方法: filter :deleted_at, :as => :boolean, :collection => {:Yes => nil, :No => ''} as: :boolean不是AA命令。 试试这个: filter :deleted_at, as: :select, collection: [['Yes', nil], ['No', '']] 价值观是根据你的! 如果数据库包含真正的布尔字段,请更改它: filter :deleted_at, as: :sele ...
  • 看起来,在迭代器耗尽之后,您可能能够在类的each方法中调用数据清理例程,而不是依赖于around_filter : class Asdf def each (1..5).each do |num| sleep(1) Rails.logger.info "STREAMING LINE #{num}" yield "test#{num}\n" end Rails.logger.info "ALL DONE; READY TO CLEAN UP" ...
  • 不是解决方案,而是一些想法(未经测试): 将所有过滤器以params(如params [:filters])的散列形式传递给搜索方法。 用所有过滤器定义一个实例变量并将其加载到控制器的搜索方法中。 根据过滤器过滤列表。 def search @current_filters = params[:filters] @listings = Listing.all @listings = @listings.where(:cylinder => @current_filters[:cylinder]) ...
  • 如何在您的production.rb环境文件中包含这样的内容? config.assets.precompile += %w( angular.js ) 或者可以使用这个宝石https://github.com/hiravgandhi/angularjs-rails I did a hack to fix the issue by overriding the currency filter and adding .replace(/\uFFFD/g, currencySymbol); Original c ...
  • 将类回调添加到过滤器链时,会为其分配一个随机回调名称。 我能想到的唯一方法是首先找到回调的名称: skip_before_filter _process_action_callbacks.detect {|c| c.raw_filter == CustomBeforeFilter }.filter 如果您想在控制器中使用更清洁的东西,可以覆盖ApplicationController中的skip_before_filter方法并使其可供所有控制器使用: class ApplicationControlle ...
  • 这是一个红宝石贝叶斯分类器 ,可以训练阻止某些类型的内容。 直接应用于您的问题需要一些创造力。 它是一项商业服务,但SocialMod值得一提。 Here is a ruby Bayesian Classifier which can be trained to block certain types of content. It would take some creativity to apply directly to your problem. Its a commercial service, b ...
  • 在这个tags.inject(Recipe.all) { |res, arg| res.tagged_with(arg) } tags.inject(Recipe.all) { |res, arg| res.tagged_with(arg) }行,问题在于,您在使用tagged_with方法获取Recipies后返回tagged_with操作结束。 因此,对于tags数组的每个元素, inject将执行操作并返回结果,但不会将其传递回tags上的下一次inject操作迭代。 最后你会得到什么,它会执行后查询 ...
  • 这通常由使用格式的单个index方法处理(在您的情况下为html或csv)。 过滤只是列表中的另一个范围 - 渲染由方法中的块处理,如: respond_to do |format| format.html format.csv { render text: @products.to_csv } end 像往常一样--Railscasts已经涵盖了这个并且是一个很好的资源: http://railscasts.com/episodes/362-exporting-csv-and-excel?vie ...
  • 尝试这个, filter :user_name, as: :string 其中name是User Model的属性。 Try this, filter :user_name, as: :string where name is attribute of User Model.
  • 两列WHERE : User.where("name like ? or email like ?", "%steve%", "%gmail%") 环绕城市: User.where("name like ? or email like ?", "%steve%", "%gmail%").where("city like ?", "%vegas%") 请注意,不区分大小写的LIKE语法因数据库而异。 我使用Postgres,所以我放弃了ILIKE以获得不敏感的喜欢。 Two-column WHERE: Use ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)