【问题标题】:Edit mysql table编辑mysql表
【发布时间】:2011-03-10 06:51:48
【问题描述】:

我想编辑整个 mysql 表的行。

我根本不了解mysql,所以在基本编程中这是我想做的:

来自表格视频中的行年份:

这里的关键是我想预先添加 19/20 而不是添加它。

if (year < 50)
    year = year+2000
else
    year = year+1900

我该怎么做呢?

【问题讨论】:

  • 只需添加19002000 而不是预先添加"19""20"?
  • 我想你的意思是year &gt;= 50

标签: php mysql prepend


【解决方案1】:

试试这个:

UPDATE yourtable
SET year = year + IF(year >= 50, 1900, 2000)

如果您的列是整数类型,也适用于字符类型。

【讨论】:

  • 我试过这个,但我认为它是倒退的。我得到了 2089 和 1911(前)。
  • @Switz:我认为你的问题是倒退的。 ;-) 现在我更新了回答你认为你问什么,而不是你实际上问什么。你也应该改变你的问题。
【解决方案2】:
mysql> create table years (year int);

// populate
mysql> INSERT INTO years VALUES (50);
mysql> INSERT INTO years VALUES (90);
mysql> INSERT INTO years VALUES (40);
mysql> INSERT INTO years VALUES (85);

// update
mysql> UPDATE years SET year = CASE WHEN year < 50 THEN 1900 + year ELSE 2000 + year END;

// check
mysql> SELECT * FROM years;
+------+
| year |
+------+
| 2050 |
| 2090 |
| 1940 |
| 2085 |
+------+

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2010-12-05
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2014-03-26
    • 1970-01-01
    相关资源
    最近更新 更多