我正在使用phpMyAdmin,我想知道是否有一种方法可以将列默认为与另一列具有相同的值?
方案
所以我正在运行wordpress,我想让用户访问页面一段时间,所以我创建了一个trialTime列。我想将trailTime的值默认为用户registrationDate(也是一列)。这样我可以从注册时开始倒计时,但管理员可以根据需要重置管理面板中的trialTime值。
答案 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
类手动编写代码。它允许完全控制数据库。
答案 2 :(得分:0)
好像你可能会过度思考这个问题。为什么不在创建注册时在两列中插入相同的值。
答案 3 :(得分:0)
MySQL中的default column value必须是常量,但您可以将CURRENT_TIMESTAMP
用于TIMESTAMP
列。
如果记录是在注册时创建的,那么使用TIMESTAMP
列CURRENT_TIMESTAMP
就足够了。
或者,您可以在从数据库中读取值时处理此问题,如下所示:
SELECT IFNULL(trialTime, registrationDate) AS trialTime
我假设值可能不同,否则您根本不需要trialTime列。