向 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 脚本。

使用带有 SELECTINSERT 语句代替值:

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