mysql - SQL 脚本和查询中的随机变量

标签 mysql sql

我开始编写一个 sql 脚本,我试图为其创建一个使用 2 个整数之间的随机变量创建插入查询的过程

这是我到目前为止所拥有的:

DELIMITER $$
CREATE PROCEDURE REL9()
BEGIN
  DECLARE k INT DEFAULT 1;

DECLARE Random INT;
DECLARE Upper INT DEFAULT 9999;
DECLARE Lower INT DEFAULT 1;

  WHILE k < 20 DO
   SET Random = ROUND(((Upper - Lower -1) * RAND() + Lower), 0);
        INSERT INTO `sc_db`.`relations` (`idRelations`, `cdate`, `rel_type`, `port_cdom`, `host_cdom`, `dom_idObjects`, `cdom_idObjects`, `rel_name`) VALUES (NULL, '5555', 'Transitive', 'localhost', 'localhost', 'Random', 'Random', 'IS_IN');

    SET k = k + 1;
  END WHILE;
END$$
DELIMITER ;

调用该过程时出现外键错误,很可能是由于未正确设置或调用随机变量。这些“随机”键(1 到 9999)确实存在于数据库中。 如何在插入值中包含变量?我在网上搜索过,有些结果说变量可以用@作为前缀,但由于某种原因我得到了一个错误。

感谢任何帮助。

最佳答案

您不是插入随机值,而是插入包含单词Random的字符串:

[...snip...] 'localhost', 'Random', 'Random', 'IS_IN');
                          ^------^--^------^---

带引号:包含字符 Ran 等的字符串...
不带引号:名为 Random

的变量

关于mysql - SQL 脚本和查询中的随机变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25983133/

相关文章:

php - 锚定表单的操作 URL

php - 不向数据库 : 插入值

c++ - 对自身的不明确函数调用

sql - 获取另一个唯一 ID 中每个唯一 ID 的平均条目数

sql - 在 SQL 中的 order by 中嵌套 order by/order by

mysql - 在 MySql 中的内部选择中使用列别名

mysql - SQL 请求 : Display people who are not friend

php - 带彩色按钮的 Laravel 查询

mysql - SQL通过用户名从 friend 表中获取 friend

sql - 如果外键的列设置为 false,Postgres 将删除一行