Mysql多次插入

时间:2013-01-04 06:46:11

标签: mysql triggers insert row

我想在创建新项目时将项目任务插入到表中。我想用触发器实现这一点,但不知道我是否可以多次使用它们。

以下是示例

insert into project_tasks(id,name,name2)
select concat('1',left(project.name,5),left(project.id,30)) as id,
'first task','do this'       
from projects where project_type = '1'
`$`limit 1

这是我的问题。

如果project type = 2,我想插入一组值,如果project type = 3我想插入另一组值等。

对于某些项目类型,我有六个任务,所以如果我不必做一个选择做一个关系我可以做(1,2,3) (4,5,6) ,(7,8,9)但现在我必须为每个任务执行插入操作,因此它将加载所有任务

2 个答案:

答案 0 :(得分:0)

您可以为尝试解决的每种情况编写存储过程,并使触发器决定哪种存储过程适合您的情况。

然而,这是不必要的复杂,并且一旦你有太多可能的案例/价值组合,证明是一个维护噩梦。就个人而言,我会在应用层中解决这类问题。

答案 1 :(得分:0)

您可以使用额外的表来为每个项目定义任务集。例如

project_type - type of project
name1 - predefined string
name2 - predifined string

创建项目后,您可以加载此数据以插入任务表。这允许您在应用程序中更改任务集而无需更改基本代码。

我希望你能理解我的主要想法