gpt4 book ai didi

mysql - SQL表一次又一次接受相同的名称数据库名称检查

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:36 25 4
gpt4 key购买 nike

我正在尝试在表 guestpasstypes 中插入 guestpass 类型名称,然后它将使用以下语句检查数据库是否已经具有该名称:

@"INSERT INTO guestpasstypes(guestPasstype_Name)values('" + tbPassType.Text + "') where not exists (select 'guestPasstype_Name' from guestpasstypes where guestPasstype_Name = '" + tbPassType.Text + "')"

但它也接受重复的名称,但它不起作用。有人可以帮忙吗?

最佳答案

对于 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);

更新

我认为第一个选项可以像这样应用于您的问题:

@"INSERT INTO guestpasstypes(guestPasstype_Name) select '" + tbPassType.Text
+ "' where not exists (select * from guestpasstypes where guestPasstype_Name = '"
+ tbPassType.Text + "')"

关于mysql - SQL表一次又一次接受相同的名称数据库名称检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6383618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com