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

时间:2012-02-22 17:39:19

标签: php mysql sql wordpress phpmyadmin

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

方案

所以我正在运行wordpress,我想让用户访问页面一段时间,所以我创建了一个trialTime列。我想将trailTime的值默认为用户registrationDate(也是一列)。这样我可以从注册时开始倒计时,但管理员可以根据需要重置管理面板中的trialTime值。

4 个答案:

答案 0 :(得分:2)

如果您正在使用wordpress并希望在注册时设置某个用户字段,请使用* user_register * action hook。

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 ');

答案 1 :(得分:0)

我不是Wordpress高手,但我想知道你是否可以使用WPDB类手动编写代码。它允许完全控制数据库。

http://codex.wordpress.org/Class_Reference/wpdb

答案 2 :(得分:0)

好像你可能会过度思考这个问题。为什么不在创建注册时在两列中插入相同的值。

答案 3 :(得分:0)

MySQL中的default column value必须是常量,但您可以将CURRENT_TIMESTAMP用于TIMESTAMP列。

如果记录是在注册时创建的,那么使用TIMESTAMPCURRENT_TIMESTAMP就足够了。

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

SELECT IFNULL(trialTime, registrationDate) AS trialTime

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