执行 Mysql 多选的最有效方法(如果不存在则插入)

Posted

技术标签:

【中文标题】执行 Mysql 多选的最有效方法(如果不存在则插入)【英文标题】:Most efficient way to do Mysql Multi select (and insert if not exists) 【发布时间】:2012-01-24 21:53:55 【问题描述】:

我有 20 个表,有 2 个字段,id 和名称描述

Colors
id  name
1 black
2 blue 
...

Sizes
id name  
1 100
2 105
...

现在我有了包含 21 个字段的主表

Main table `shoes`

id Colors Sizes style ...
1    2     24     11

我有一个包含 20 个文本输入的表单帖子(一个用于每种功能、颜色、大小..) 我想要的是学习查看 20 个特征表的最有效方法(从 name='blue' 的颜色中选择 id)并获取 id 值,如果不存在,则创建它(插入颜色(名称)值(粉红色) ) 然后获取 id ,一旦我有了 20 个值,就会在主字段中进行大插入

【问题讨论】:

【参考方案1】:

使用INSERT ... ON DUPLICATE KEY UPDATE 语法。

【讨论】:

感谢您的回答,我知道您的方式,但您的意思是这样做 20 个不同的句子 我不知道你在问什么。 我的意思是.. 我应该做 20 次 $db->(insert.. on duplicate key) 吗?这是最有效的方法吗?

以上是关于执行 Mysql 多选的最有效方法(如果不存在则插入)的主要内容,如果未能解决你的问题,请参考以下文章

spss程序中怎样设定多选变量

允许使用 selected.js 多选的新值

多选的快捷键是啥

iOS本地照片多选的实现

使用 Core Data 插入/更新记录的最有效方法?

JQuery 当点击input后,单选多选的选中状态