MySQL新手在这里。我已经构建了一个包含环境变量的数据库。每个值都与唯一的class
,designation
和variable
相关联,每个值都有一个定义表。当我添加一个新变量时,我需要将每个定义表中的外键复制到一个新表中,并且添加一个值variable_mappings
。该variable_mappings
表看起来像这样:插入到选择mysql中
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| value | varchar(512) | NO | | NULL | |
| designation_id | int(11) | NO | MUL | NULL | |
| class_id | int(11) | NO | MUL | NULL | |
| variable_id | int(11) | NO | MUL | NULL | |
+----------------+--------------+------+-----+---------+----------------+
眼下命令添加变量看起来是这样的:
INSERT INTO variable_mappings (variable_id, designation_id, class_id, value)
SELECT variable_definitions.id as 'variable',
designation_definitions.id as 'designation',
class_definitions.id as 'class'
FROM variable_definitions
JOIN designation_definitions on designation_definitions.name='development'
JOIN class_definitions on class_definitions.name='av-control'
WHERE variable_definitions.name='CONFIGURATION-DATABASE-MICROSERVICE-ADDRESS';
MySQL的抱怨,有一个为value
没有默认值。添加一行到variable_mappings
的最佳方式是什么?