我不知道标题是否清楚,但我会尝试在这里解释一下。我们的数据库有数千条记录,这些表中有几个日期时间列。我们必须使用 unix_timestamp 转移到 int,但我无法在 MySQL 中找出可以更新这些字段的查询。
假设我有一个包含这样一个字段的简单表:
user_table :
id : int,
name : string,
date_joined : datetime;
要将所有这些 date_joined 文件更改为 int,我认为添加一个 int 列并将日期作为 int 复制到新列中,然后删除旧列并重命名我的新列可能是一个解决方案。我构建了一个小的 php 脚本,然后我的脚本将进行数千个相当长的 MySQL 查询。我的脚本会运行如下查询:
UPDATE user_table SET date_joined_int=UNIX_TIMESTAMP(date_joined) where id = 1
...
这是否可以通过一个 MySQL 查询来完成?
最佳答案
你说得对,你应该添加新的 INT
列
ALTER TABLE user_table ADD date_joined_int INT(11) not null;
比转换你的日期
UPDATE user_table SET date_joined_int = UNIX_TIMESTAMP(date_joined);
最后删除 date_joined
列,并将 date_joined_int
改成 date_joined
关于php - 用当前行值更新多行mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397308/