mysql - 有选择地插入到mysql表中

标签 mysql sql

我需要插入到 mysql 表中。但是,只有满足条件时才应插入。所以我希望这样的事情发生

 INSERT INTO table_name(name,qty,code) VALUES(SELECT i.name,i.qty,i.code FROM table2 i);

对于这样的情况

 IF i.code == 'abcd' && i.name == 'def' THEN perform insert ELSE don't insert

我无法使用 WHERE 子句,因为我想选择并插入除等于“abcd”的情况之外的所有代码,在这种情况下我想根据条件插入。

最佳答案

@strawberry 在评论中回答了这个问题。这是一个简单的答案,但不知何故真的很好。答案在这里

 INSERT INTO table_name(name,qty,code) VALUES 
 ( 
    SELECT i.name,i.qty,i.code FROM table2 i
    WHERE (i.code = 'abcd' AND i.name = 'def') OR i.code != 'abcd'
 )

关于mysql - 有选择地插入到mysql表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23674742/

相关文章:

php - Silverstripe 页面模板保存到数据库问题

mysql 将字符串转换为日期时间格式

python - 如何使用 SQLAlchemy from_select 插入选择?

mysql - SELECT 、 FROM 或 WHERE 中的嵌套 SELECT 子句及其区别

php - Mysql 两张表,获取没有相同值的数据

mysql查询的PHP while循环有时会随机返回一个空集(它们不为空,但结果为空)

mysql - 限制每列值的结果

php - 插入具有多个值的重复键更新

MySQL 查询或存储过程递归调用自身并返回所选父节点的所有节点

sql - 帮助进行简单的 SQL 查询