我有一张名为contact
表格中有一个标有name
的字段和一个标有email
的字段。
我在名称字段中有一行值为Ryan
的行和一个空白的电子邮件字段。
如果info@ryanmurphy.org.uk
匹配email field
,我想运行if语句,以便将电子邮件name
插入Ryan
。
如果找不到匹配项,那么我希望它插入行。
到目前为止,我已经尝试过这个:
IF name = 'Ryan'
THEN INSERT INTO contact (email) VALUES ('info@ryanmurphy.org.uk')
ELSE
INSERT INTO contact (name, email) VALUES ('Ryan', 'info@ryanmurphy.org.uk')
END IF;
答案 0 :(得分:2)
我可能真的错了,但下面的代码不会有效吗?
UPDATE contact SET email='info@ryanmurphy.org.uk' WHERE name='Ryan';
答案 1 :(得分:1)
如果name列是主键,则可以使用replace命令
REPLACE INTO contact (name, email) VALUES ('Ryan', 'info@ryanmurphy.org.uk')
在我看来,你的桌子上应该有钥匙或独特的字段。例如,如果name是唯一字段,则可以使用类似
的内容INSERT INTO contact (name, email) VALUES ('Ryan', 'info@ryanmurphy.org.uk') ON DUPLICATE KEY UPDATE email = "info@ryanmurphy.org.uk"
您是否可以更改表格架构?
答案 2 :(得分:0)
解决方案是将问题中的查询放入存储过程