【发布时间】:2013-03-18 12:27:29
【问题描述】:
我正在尝试编写一个查询,该查询会将 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 还是 Oracle?它们完全不同。
-
这样的 IF 语句只适用于 TSQL 和 PL/SQL 之类的东西。如果你只是在执行一个查询,那是行不通的。您必须将该逻辑放入执行代码中。
-
我该怎么做?我正在使用与当前版本的 WampServer 和 XAMPP 一起使用的 MySQL 版本。
标签: mysql sql if-statement exists