我需要根据列值创建一个带有外键的表,
render() {
let activeButton = this.props.activeStyle ? this.props.activeStyle : styles.activeButton;
return (
<View style={[styles.container, this.props.containerStyle, this.state.selected ? activeButton : null]}>
<TouchableOpacity onPress={() => {
this.setState({ selected: !this.state.selected });
this.props.onPress();
}}>
{
this.btnBackgroundImage()
}
</TouchableOpacity>
</View>
);
}
:
table_1
CREATE TABLE table_1(
index_value INT NOT NULL,
result VARCHAR(10) DEFAULT NULL
);
:
table_2
表table_需要创建两个连接到CREATE TABLE table_2(
index_value INT NOT NULL,
result VARCHAR(10) DEFAULT NULL
)
和table_1
的外键,如下所示:
table_2
:
table_need
但是我真正想要的表CREATE TABLE table_need(
index_value INT NOT NULL,
category VARCHAR(10) DEFAULT NULL,
FOREIGN KEY (index_value)
REFERENCES table_1(index_value)
ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (index_value)
REFERENCES table_2(index_value)
ON DELETE CASCADE ON UPDATE CASCADE);
)
是根据列table_need
的值连接外键,条件:
category
的值为“ A”,则将外键(index_value)连接到category
table_1
的值为“ B”,则将外键(索引值)连接到category
。这是一个问题,如何创建满足条件的表table_2
并且不需要创建更多表,有什么想法?
答案 0 :(得分:0)
您可以创建一个表,而不是下面的table_1和table_2-
CREATE TABLE table_1
(
index_value INT NOT NULL,
category VARCHAR(1) NOT NULL,
result VARCHAR(10) DEFAULT NULL
);
根据您的要求在类别列中存储A或B。现在,您可以使用CASCADE使用一个外键引用创建表“ table_need”。为了进一步选择数据,只需通过过滤Category ='A'或Category ='B'来区分记录