gpt4 book ai didi

mysql - 当 MySql 中的表为空时无法插入行

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:02 25 4
gpt4 key购买 nike

我想在表中不存在该名称时插入一行。

当表格为空时,无法插入任何东西,谁能帮帮我?

这是我的代码:

INSERT INTO `ediftpdb`.`users`(
name
,passwd
,vendor
)
SELECT
'L001'
,'12345678a'
,'MKTPLS'
FROM `ediftpdb`.`users`
WHERE NOT EXISTS (SELECT * FROM `ediftpdb`.`users` WHERE name='L001' AND vendor = 'MKTPLS' ) LIMIT 1;

附言我发现了一个有趣的东西,当 ediftpdb.users 为空时,如下代码不返回任何内容。

SELECT
'L001'
,'12345678a'
,'MKTPLS'
FROM `ediftpdb`.`users`

最佳答案

更好的方法是在名称和供应商列上创建一个唯一的多部分索引:

CREATE UNIQUE INDEX name_vendor ON ediftpdb.users( name, vendor )

然后:

INSERT IGNORE INTO ediftpdb.users ( name, passwd, vendor )
VALUES ( 'L001', '12345678a', 'MKTPLS' )

会做你想做的事。

关于mysql - 当 MySql 中的表为空时无法插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174364/

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