一张表里有个可以为空的外键,如何向这样的表插入数据?
请问该如何向这样的表插入数据?
现在问题如下:
c#不向JAVA有INTEGER这种对象类型,int是值类型,你不管它它默认就是0,因为外键约束这样会报错。但由于合同ID外键字段可以为空,我现在不知道该如何处理...有人说不要insert这个字段它就会为空,但当需要插入这个字段时呢,所以很矛盾。请各位老师帮忙,100分送出。
相关推荐
向存在外键的表中插入数据时出错的原因以及插入外键为空的方法
如下表 CREATE TABLE Course( Cno VARCHAR(4) PRIMARY KEY, Cname VARCHAR(20) NOT NULL, Cpno VARCHAR(4), Ccredit INT, FOREIGN KEY(Cpno) REFERENCES Course(Cno) ); 创建一个表,表中有一个外键,这个外键指向自己的主键,在创建表的时候是被允许的,但是在插入数据的时候,我用正常的sql语句插入数据,但报错了,如下 INSERT INTO course (cno,cname,ccredit) VALUES (1,'数据库',5,4), (2,
MySQL约束(主键,唯一,非空,外键)
MySQL约束(主键,唯一,非空,外键) 概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 分类: 1. 主键约束:primary key 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foreign key 目录MySQL约束(主键,唯一,非空,外键)1. 非空约束2. 唯一约束3. 主键约束4. 外键约束例子 1. 非空约束 非空约束是为了让数据在存入数据时,保证值不为null。 关键字:not null 1. 创建表时添加约束 CREATE TABLE stu( id INT, NAME VARCHAR(20) NOT NUL
MYSQL 数据库给表加外键约束条件 (史上最详细教程)
下面是已经创建好的两个数据表!(还未加外键约束) 1. mysql> show columns from message;//信息表 +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------------+------+-----+---------+----------------+ | m_id | int(11)
oracle表主键和外键的区别
主键和外键的区别 主键是定义一个表中起主要作用的数据项,这些数据项的数据在表中是唯一的,同时系统按主键为表建立索引。 外键是定义一个表中的某数据项的数据,要参照另一个表的主键数据。既没有在另一个表的主键数据中出现的数据,不允许在这个表的外键数据项中出现。
SQL语句:给表添加外键的四种方式
1. 创建表的同时添加外键 create table score( score int(3), st_id int(16), cs_id int(16), primary key(st_id,cs_id), FOREIGN KEY (st_id) REFERENCES student(id), FOREIGN KEY (cs_id) REFERENCES classes(id) ); 2. 已经创建表了怎么办:在表的定义外进行添加 alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字


疑难问题
