UPDATE column based ID
I have a table with two columns, ID and Email Address.
ID EMAIL
-------------------------
1 no-reply@company.com
2 no-reply@company.com
3 no-reply@company.com
4 no-reply@company.com
I now have a list of emails to update based on their ID. Each email is unique.
I have updated multiple fields before with a query like
INSERT IGNORE INTO `table` (`column1`, `column2`) VALUES
(0001,0002),
(0004,0004),
Is there a way to use a similar concept while updating the emails with their specific ID?
mysql sql database
add a comment |
I have a table with two columns, ID and Email Address.
ID EMAIL
-------------------------
1 no-reply@company.com
2 no-reply@company.com
3 no-reply@company.com
4 no-reply@company.com
I now have a list of emails to update based on their ID. Each email is unique.
I have updated multiple fields before with a query like
INSERT IGNORE INTO `table` (`column1`, `column2`) VALUES
(0001,0002),
(0004,0004),
Is there a way to use a similar concept while updating the emails with their specific ID?
mysql sql database
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28
add a comment |
I have a table with two columns, ID and Email Address.
ID EMAIL
-------------------------
1 no-reply@company.com
2 no-reply@company.com
3 no-reply@company.com
4 no-reply@company.com
I now have a list of emails to update based on their ID. Each email is unique.
I have updated multiple fields before with a query like
INSERT IGNORE INTO `table` (`column1`, `column2`) VALUES
(0001,0002),
(0004,0004),
Is there a way to use a similar concept while updating the emails with their specific ID?
mysql sql database
I have a table with two columns, ID and Email Address.
ID EMAIL
-------------------------
1 no-reply@company.com
2 no-reply@company.com
3 no-reply@company.com
4 no-reply@company.com
I now have a list of emails to update based on their ID. Each email is unique.
I have updated multiple fields before with a query like
INSERT IGNORE INTO `table` (`column1`, `column2`) VALUES
(0001,0002),
(0004,0004),
Is there a way to use a similar concept while updating the emails with their specific ID?
mysql sql database
mysql sql database
asked Nov 20 '18 at 15:21
M. WhalenM. Whalen
12
12
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28
add a comment |
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28
add a comment |
2 Answers
2
active
oldest
votes
To update multiple emails when you have their ids, you can use SQL IN operator.
Learn more here: SQL IN Operator
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
add a comment |
Using Update
queries is the simplest way to edit records that belong to another Update table:
UPDATE tbl1, tbl2 SET tbl1.mail = tbl2.mail
WHERE tbl1.id = tbl2.id;
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396195%2fupdate-column-based-id%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
To update multiple emails when you have their ids, you can use SQL IN operator.
Learn more here: SQL IN Operator
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
add a comment |
To update multiple emails when you have their ids, you can use SQL IN operator.
Learn more here: SQL IN Operator
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
add a comment |
To update multiple emails when you have their ids, you can use SQL IN operator.
Learn more here: SQL IN Operator
To update multiple emails when you have their ids, you can use SQL IN operator.
Learn more here: SQL IN Operator
answered Nov 20 '18 at 15:30
Mirza MašićMirza Mašić
9426
9426
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
add a comment |
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
not if each email is unique - OP states that in the question
– ADyson
Nov 20 '18 at 16:19
add a comment |
Using Update
queries is the simplest way to edit records that belong to another Update table:
UPDATE tbl1, tbl2 SET tbl1.mail = tbl2.mail
WHERE tbl1.id = tbl2.id;
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
add a comment |
Using Update
queries is the simplest way to edit records that belong to another Update table:
UPDATE tbl1, tbl2 SET tbl1.mail = tbl2.mail
WHERE tbl1.id = tbl2.id;
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
add a comment |
Using Update
queries is the simplest way to edit records that belong to another Update table:
UPDATE tbl1, tbl2 SET tbl1.mail = tbl2.mail
WHERE tbl1.id = tbl2.id;
Using Update
queries is the simplest way to edit records that belong to another Update table:
UPDATE tbl1, tbl2 SET tbl1.mail = tbl2.mail
WHERE tbl1.id = tbl2.id;
edited Nov 20 '18 at 16:19
TeeKea
3,22341730
3,22341730
answered Nov 20 '18 at 15:33
Harwin GalvisHarwin Galvis
11
11
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
add a comment |
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
The emails are not from another table, they were just provided to me in a list.
– M. Whalen
Nov 20 '18 at 15:45
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53396195%2fupdate-column-based-id%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
not really because you need a separate WHERE clause for each row. You'll set the same value for each row which matches the WHERE clause. If the number of matched rows is 1 (because your WHERE clause restricts by ID), then you'll need another query to set another row. There's not really any way to shorten that.
– ADyson
Nov 20 '18 at 15:28