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
的最佳方式是什麼?