mysql - 带外键的sql循环

标签 mysql sql rdbms

我正在尝试生成一堆折扣代码。这些具有外键约束。

目前我已经

INSERT INTO code (title, code, desc) VALUES ('code1','XPISY9','test code');
INSERT INTO code_details (code_id, used, attempts) VALUES (
 SELECT code_id from code where code = 'XPISY9',0,0);

code_details中的code_id是代码表中code_id的外键。

创建一个循环的最佳方法是什么,我可以在其中生成一组这些值(大约 100 个)。我需要代码是一个不重复的随机值。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

一旦代码表中有 100 条左右的记录,您就可以在一条语句中添加代码详细信息:

INSERT INTO code_details (code_id, used, attempts) 
SELECT code, 0, 0
FROM code;

首先生成代码记录是另一回事,最好的方法可能是使用其他工具在文本文件中生成 100 个插入语句,然后您可以执行这些语句。

我已经看到了每一种可能的脚本语言都可以做到这一点 - 选择你最喜欢的。我什至见过 Excel 与 id 和字符串公式的列一起使用来生成插入语句。

关于mysql - 带外键的sql循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073187/

相关文章:

mysql - 在 MySQL 结果集中包含一个额外的计数器

mysql - 获取/限制MySQL中每个唯一值的N个结果

mysql - JPQL/SQL 查询 : where like '%' include null values

jdbc - 对于小型应用程序来说,没有sql数据库是一个好的解决方案吗?

mysql - 将这种关系结构迁移到 Mongo 文档的最有效方法是什么?

php - laravel 5.5 缺少 [Route : 所需的参数

php - 新闻提要的 SQL 内部连接

mysql - 是否可以生成更多表的 MYSQL 查询,其中一个表列的值作为更多查询列?

sql - ALTER TABLE WHERE 子句

php - 搜索海量数据库时的速度