Php 使列与相似列具有相同的值

Php 使列与相似列具有相同的值,php,mysql,sql,wordpress,phpmyadmin,Php,Mysql,Sql,Wordpress,Phpmyadmin,我正在使用phpMyAdmin,我想知道是否有一种方法可以将一列的值设置为与另一列的值相同 场景 所以我正在运行wordpress,我想让用户在一定时间内访问某个页面,所以我创建了一个试用期列。我希望将trailTime的值默认为users registrationDate(这也是一列)。这样我可以从他们注册时开始倒计时,但是管理员可以在管理员面板内重置trialTime的值(如果他们愿意) 我不是Wordpress的天才,但我想知道您是否可以使用WPDB类手动编写此代码。它允许对数据库进行完全

我正在使用phpMyAdmin,我想知道是否有一种方法可以将一列的值设置为与另一列的值相同

场景


所以我正在运行wordpress,我想让用户在一定时间内访问某个页面,所以我创建了一个试用期列。我希望将trailTime的值默认为users registrationDate(这也是一列)。这样我可以从他们注册时开始倒计时,但是管理员可以在管理员面板内重置trialTime的值(如果他们愿意)

我不是Wordpress的天才,但我想知道您是否可以使用
WPDB
类手动编写此代码。它允许对数据库进行完全控制


看来你可能对这个问题想得太多了。为什么不在创建注册时在两列中插入相同的值呢。

如果您正在使用wordpress并希望在注册时设置特定的用户字段,只需使用*user\u register*操作挂钩即可

function set_that_additional_thing ($user_id) {
     global $wpdb;
     $wpdb->query("UPDATE `" . $wpdb->prefix . "users` 
                   SET `copy_field` = `field` 
                   WHERE `user_id` = " . $user_id);
}

add_action('user_register', 'set_that_additional_thing ');
MySQL中的A必须是一个常量,但可以对
时间戳
列使用
当前时间戳

如果记录是在注册时创建的,则使用
时间戳
列和
当前时间戳
就足够了

或者,您可以在从数据库读取值时处理此问题,如下所示:

SELECT IFNULL(trialTime, registrationDate) AS trialTime

我假设这些值可能不同,否则您根本不需要trialTime列。

我认为默认情况下您不能这样做,但添加列后,您可以通过对所有用户的简单查询来完成。“更新表集column1=column2”幼崽如果我默认不能做到,我想是时候继续你所说的计划B了。我不确定注册发生在哪里,但我假设它在核心的某个地方,这通常不是一个好主意,因为每次更新都会覆盖它。这似乎是解决我问题的一个很好的办法,但我不知道在哪里它正在拉取用户id(作为参数传递)。如果这个钩子连接到用户注册中,那么还不会设置用户id,是吗?这个特定的钩子是在用户添加到数据库之后调用的。因此,用户id是已知的。如您所见,您正在更新(在mysql查询中更新)一个已经存在的数据库条目。