作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个查询,它将 0 到 9999 之间的随机值插入到表中,而该随机值尚不存在。但是,我写的任何东西都不起作用。似乎 WHERE 子句不适用于 INSERT,并且我的 SQL 服务器无法执行 IF NOT EXISTS 查询。我想知道这是不正确的吗?我应该怎么办?我的问题有解决方案吗?(我正在使用 MySQL)
SET @rand = ROUND(RAND() * 9999);
IF NOT EXISTS (SELECT `num` FROM `nums` WHERE `num` = @rand)
INSERT INTO `nums` (`num`) VALUES (@rand);
最佳答案
你可以像这里一样做:MySQL: Insert record if not exists in table
INSERT INTO `nums` (`num`)
SELECT *
FROM
(SELECT @rand) AS q
WHERE NOT EXISTS
(SELECT `num`
FROM `nums`
WHERE `num` = @rand);
关于mysql - 为什么这个 IF NOT EXISTS 语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15476851/
我是一名优秀的程序员,十分优秀!