MySQL:更新所有同名变量

标签 mysql database

我想问一下,通过使用一个mysql,我怎样才能将名称“orange”更新为“oranges”,并将asc_category中的所有变量“fruit”更新为“fruits”

此 mysql 只会更改特定 asc_id 行中的变量名称。

$sql = "UPDATE food SET asc_maincategory = '$asc_maincategory', asc_subcategory = '$asc_subcategory' WHERE asc_id = '$asc_id' ";

谢谢..

最佳答案

您可以通过使用 CASE...WHEN...THEN 来实现此目的。

UPDATE food 
SET asc_subcategory = CASE
        WHEN asc_subcategory = 'orange' THEN 'oranges'
        ELSE asc_subcategory END,
    asc_maincategory = CASE
        WHEN asc_maincategory = 'fruit' THEN 'fruits'
        ELSE asc_maincategory
    END;

如果 asc_subcategory='orange',则将其更新为橙色,否则与数据库中的值相同。

如果 asc_maincategory='fruit',则将其更新为水果,其他值与数据库中的值相同。

关于MySQL:更新所有同名变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47524005/

相关文章:

php - 通过 MySQLi 插入的值无法用 mysqli_insert_id 完全插入

java - 利用庞大的数据库提高 SQLite 性能

database - R 和数据库 Roracle

mysql - 大表中的正确索引

mysql - 为什么这个 MySQL 查询非常慢并且没有使用正确的索引?

mysql - Wordpress/MySql 查询未从 JOIN 的 LEFT 部分生成所有结果

mysql - 在 Mysql 中存储经度/纬度的数据类型

mysql - 新表与新模式

database - JDBC 相对于 plsql 的优势?

android - (Android) 不断收到 SQL 语句错误