选择性地插入到mysql表中
我需要插入到mysql表中。但是,仅当满足条件时才应插入。所以我希望这样的事情发生选择性地插入到mysql表中,mysql,sql,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子句,因为我要选择并插入除“
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”之外的所有代码,在这种情况下,我要根据条件插入代码。尝试以下操作:
IF (i.code == 'abcd' && i.name == 'def')
BEGIN
INSERT INTO table_name(name,qty,code) VALUES(SELECT i.name,i.qty,i.code FROM table2 i)
END
ELSE
BEGIN
PRINT('DONT DO ANYTHING')
END
首先插入表2中代码为'abcd'和名称为'def'的所有行
INSERT INTO table_name SELECT i.name,i.qty,i.code FROM table2 i where i.code = 'abcd' and i.name = 'def'
现在有条件地插入其他行可能是这样的吗
INSERT INTO table_name
(name,qty,code)
VALUES(SELECT i.name,i.qty,i.code FROM table2 i)
WHERE IF(i.code == 'abcd' && i.name == 'def', TRUE, FALSE)
使用MySQL,草莓在评论中回答了这个问题。这是一个简单的答案,但不知何故真的很好。这是答案
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'
)
使用“WHERE(x=m和y=z)或(xm)”表示感谢,这似乎是最明智的方法。你应该在@StrawberryIt工作时回答这个问题。但不是作为单一交易。我已经在下面的帖子中给出了答案。