php - 基于某种条件的插入(Mysql)

标签 php mysql sql

我有带有字段 id,name 的表标签

在前端,用户在与相应产品关联的文本区域中输入以逗号分隔的标签

所以在插入期间我想将标签添加到标签表中,但标签表中没有。

所以一切正常,但问题是我想将不在标签表中的特定标签添加到表中

例如:考虑表单

产品名称:橙汁 描述:橙汁的描述。 标签:水,果汁,饮料

所以我想将那些不存在于表中的标签添加到标签表中。 例如,水和饮料在表中,果汁不在标签表中。

最佳答案

你可以有一个名为 temptags 的临时表,将你在 textarea 中输入的标签插入到那里,然后将临时标签插入到标签表中,检查它们是否不存在,比如这个:http://sqlfiddle.com/#!2/c2855/1

CREATE TABLE tags (
  tag VARCHAR(32)
);

INSERT INTO tags VALUES
('Water'),
('Drinks');


CREATE TABLE temptags (
  tag VARCHAR(32)
);

INSERT INTO temptags VALUES
('Water'),
('drinks'),
('juices');


INSERT INTO tags SELECT tag FROM temptags WHERE UCASE(tag) NOT IN (SELECT UCASE(tag) FROM tags);

关于php - 基于某种条件的插入(Mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938585/

相关文章:

javascript - 处理多个获取的 MySQL 数据的 JS 问题 [PHP, MySQL & JS]

JavaScript OnChange 选择值到输入字段

mysql - 数据库设计:多表和外键

Mysql TIMESTAMP 触发器不起作用

sql - 如何将数据库架构更改为 dbo

sql - 更新两列排序的累积总和

sql - 由 GROUP BY 查询产生的 SELECT 组数

javascript - 如何在php中设置 session 变量onclick

php - 在PhP中显示多行

mysql - Perl和MySQL用户输入选择一行?