向 mysql 中的数据库添加一个新的、必需的 table
Adding a new, required table to a database in mysql
基本上我有一个现有用户 table,我需要为用户元数据添加一个 table。创建新用户时,我们会生成默认元数据,但对于现有用户而言,这还不存在,我们需要它。
基本上添加 table,遍历用户,并插入默认数据,类似这样的伪代码:
FOR EVERY user IN users
INSERT INTO `meta_data` VALUES (
'generate UUID',
'users UUID from users table'
'2014-12-29 22:57:55',
'2015-01-01 01:39:37',
);
我已经处理了一些 mysql 但这将是我的第一个 sql 脚本。
使用带有 SELECT
的 INSERT
语句代替值:
INSERT INTO meta_data
SELECT UUID(), u.uuid, '2014-12-29 22:57:55', '2015-01-01 01:39:37'
FROM users AS u
如果您需要在开始为新用户添加元数据后执行此操作,您可以将其过滤掉:
INSERT INTO meta_data
SELECT UUID(), u.uid, '2014-12-29 22:57:55', '2015-01-01 01:39:37'
FROM users AS u
LEFT JOIN meta_data AS m ON u.uuid = m.users_uuid
WHERE m.users_uuid IS NULL
基本上我有一个现有用户 table,我需要为用户元数据添加一个 table。创建新用户时,我们会生成默认元数据,但对于现有用户而言,这还不存在,我们需要它。
基本上添加 table,遍历用户,并插入默认数据,类似这样的伪代码:
FOR EVERY user IN users
INSERT INTO `meta_data` VALUES (
'generate UUID',
'users UUID from users table'
'2014-12-29 22:57:55',
'2015-01-01 01:39:37',
);
我已经处理了一些 mysql 但这将是我的第一个 sql 脚本。
使用带有 SELECT
的 INSERT
语句代替值:
INSERT INTO meta_data
SELECT UUID(), u.uuid, '2014-12-29 22:57:55', '2015-01-01 01:39:37'
FROM users AS u
如果您需要在开始为新用户添加元数据后执行此操作,您可以将其过滤掉:
INSERT INTO meta_data
SELECT UUID(), u.uid, '2014-12-29 22:57:55', '2015-01-01 01:39:37'
FROM users AS u
LEFT JOIN meta_data AS m ON u.uuid = m.users_uuid
WHERE m.users_uuid IS NULL