①通过SQL语句向Oracle数据库中插入主键时,不写主键值,而通过序列得到下个主键值。
如:向表Demo中插入一条数据,ID为主键,序列为no:
insert into Demo(ID,NAME,AGE)values(no,'name',0);
原因是ID为主键值,不用去insert主键,ID是自增的。
②通过SQL语句向Oracle数据库中插入主键时,直接写入主键值。
如:向表Demo中插入一条数据,ID为主键,序列为no:
insert into Demo(ID,NAME,AGE)values(1,'name',0);
原因是Oracle主键如果在insert插入时有值,将不使用自增。
已经存在重复值了,你可以先select authorid from authorisbn order by author 看看,应该已经有authorid=1的记录了。
你只有改authorid.
主键字段是不能够插入重复值的。
很显然, 你的表里面已经包含了 你插入的这条信息的主键值,主键唯一,当然就插不进去了
主键重复了,把authorID的值改成一个表中没有的值
INSERT INTO [authorISBN] ( [isbn] ) VALUES ( '0130895725' )