Для SQL Server это будет выглядеть следующим образом.
insert into guestpasstypes (guestPasstype_Name)
select 'name1'
where not exists (select *
from guestpasstypes
where guestPasstype_Name = 'name1')
Я думаю, что это должно работать и для MySQL.
Если вы используете SQL Server 2008, вы можете использовать MERGE .
merge guestpasstypes as G
using (select 'name2') as S(Name)
on G.guestPasstype_Name = S.Name
when not matched then
insert (guestPasstype_Name) values (Name);
UPDATE
Я думаю, что первый вариант может быть применен к вашей проблеме следующим образом:
@"INSERT INTO guestpasstypes(guestPasstype_Name) select '" + tbPassType.Text
+ "' where not exists (select * from guestpasstypes where guestPasstype_Name = '"
+ tbPassType.Text + "')"