如何不在sql表中重复插入数据

如何不在sql表中重复插入数据,sql,Sql,晚上好。我的老师说每次我们在表格中输入数据时都应该使用这种语法: drop database a15roban create database a15roban use a15roban Create table person .... () 我有一个名为Skees的弱表,在该表中我插入了一个人被分配到特定的Skee,例如SkeeNr3等等,但每次我运行查询时,它都会再次被插入,因此当我运行查询时,请选择Skee.Name from Skee,其中SkeeNrID=3,我会得到多次拥有它们的人

晚上好。我的老师说每次我们在表格中输入数据时都应该使用这种语法:

drop database a15roban
create database a15roban
use a15roban
Create table person .... ()

我有一个名为Skees的弱表,在该表中我插入了一个人被分配到特定的Skee,例如SkeeNr3等等,但每次我运行查询时,它都会再次被插入,因此当我运行查询时,请选择Skee.Name from Skee,其中SkeeNrID=3,我会得到多次拥有它们的人。有什么解决方案吗?

您应该注意有关删除整个数据库的问题的评论

根据我对您的问题的解释,我认为可以帮助您的是在表中的
skenrid
字段中添加一个独特的约束

在不知道您使用的是哪种DBMS的情况下,我无法100%确定语法,但很可能是这样的:

CREATE TABLE person (
SkeeNrID INT UNIQUE NOT NULL,
-- [other fields]
);
甚至:

CREATE TABLE person (
SkeeNrID INT PRIMARY KEY, --cannot be null and must be unique
-- [other fields]
);

当尝试重复的
skeenId
插入时,您应该会得到一个错误。这至少有助于您确定问题的核心所在/原因。

请提供更多详细信息。你到底想完成什么?您多次运行的是什么查询?您当然不希望每次破坏插入或更新查询时都删除数据库并重新创建它!!!请不要认为这是一件可以接受的事情,否则你会在第一次真正的工作中被解雇。但是,如果不看到您正在使用的实际插入代码,我们就无法帮助您。根据上下文,当插入到表中时,nuke和pave是一种有效的方法,但是每次插入时删除数据库并重新创建似乎有点极端,您不觉得吗?你确定这就是你被要求做的吗?^^^@HLGEM说的,我们需要更多的信息。另外:你使用的是哪种数据库管理系统?