【问题标题】:Change all records at once. Update one field with same input mysql一次更改所有记录。用相同的输入mysql更新一个字段
【发布时间】:2013-08-07 15:39:30
【问题描述】:

我正在尝试更改所有记录的一个字段的所有输入,但无法弄清楚。任何帮助深表感谢。

我试图通过以下方式更改它们:

SELECT * FROM `users` SET 'password'='NewPassword';

【问题讨论】:

    标签: mysql rows multiple-columns


    【解决方案1】:

    UPDATE 是在 MySQL 中更改值的正确命令 - 示例:

    UPDATE `users` set password='new_password_string' where password is not null
    

    【讨论】:

    • 我尝试使用 UPDATE users SET 'password' = '5560bafaba4802ee6779305092db67a2';但它也没有用。您能否告诉我如何使用 UPDATE 来完成此操作。
    • 您能告诉我们您在运行上述命令时遇到的错误是什么吗?
    • 我尝试使用 UPDATE users SET 'password' = '5560bafaba4802ee6779305092db67a2' WHERE 'password' IS NOT NULL;但这也给出了语法错误。
    • 在两个地方的用户和密码周围有引号....把它们拿出来并使用 UPDATE users SET password = '5560bafaba4802ee6779305092db67a2' WHERE password IS NOT NULL;根据需要工作。总是简单的东西。非常感谢您的回复:-)
    【解决方案2】:

    尝试查找更新语句

    【讨论】:

      【解决方案3】:

      您需要UPDATE 语句,而不是SELECT 语句来更新表中的行。 (因此它被称为更新。)此外,您在列名周围使用反引号或不使用任何内容,而不是单引号。

      UPDATE `users` SET `password`='NewPassword';
      

      话虽如此,以明文形式存储密码是难以置信不安全的。请确保您实施了正确的密码散列系统。

      【讨论】:

      • 我只是以 NewPassword 为例。我正在使用 MD5 加密来存储密码。很好的提示:)
      • @JustinValinski 很高兴看到您注意安全。顺便提一下,MD5 不是为密码存储而设计的,因为它被设计为有效的,有利于用于验证文件完整性,但不利于阻止对密码的暴力攻击。建议使用 php 的 crypt() 或类似的东西。
      • 在两个地方的用户和密码周围有引号....把它们拿出来并使用 UPDATE users SET password = '5560bafaba4802ee6779305092db67a2' WHERE password IS NOT NULL;根据需要工作。总是简单的东西。非常感谢您的回复:-)
      【解决方案4】:

      使用UPDATE 命令 (http://www.w3schools.com/sql/sql_update.asp)。

      UPDATE 'users' SET 'password' = 'NewPassword';
      

      【讨论】:

        猜你喜欢
        • 2020-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        相关资源
        最近更新 更多