+----+-------+------+-----------+
| ID | Col1 | Col2 | Col3 |
+----+-------+------+-----------+
| 1 | "One" | 0 | "Yeah" |
| 2 | "One" | 0 | "Meh" |
| 3 | "One" | 0 | "Why Not" |
| 4 | "Two" | 1 | "Huh"! |
+----+-------+------+-----------+
而不是
+----+-------+------+-----------+
| ID | Col1 | Col2 | Col3 |
+----+-------+------+-----------+
| 1 | "One" | 0 | "Yeah" |
| 2 | "One" | 0 | "Meh" |
| 3 | "One" | 1 | "Why Not" | (Normally it must be 0 or line 1 and 2
| 4 | "Two" | 1 | "Huh"! | Must be "1" )
+----+-------+------+-----------+
即使MySQL支持check约束,您也不会使用check
约束来实现这一点。我认为最好的方法是使用外键约束。
您需要第二个表,其中包含有效的col1
/col2
值:
create table Col1Col2 as (
col1 varchar(255) not null primary key,
col2 int not null,
unique (col1, col2) -- this is not strictly necessary see below
);
那么你的桌子应该是:
create table t as (
id int auto_increment primary key,
col1 varchar(255) not null,
col2 int not null
col3 int,
constraint fk_t_col1_col2 foreign key (col1, col2) references col1col2(col1, col2)
);
我有一个带有key_number列的数据帧df1,以及带有key_number和日期列的数据帧df2。如何将date的值分配为df1中的新列,但与键号相关联?当使用loc时,它根据顺序分配值,导致df1中错误的行(键的错误日期)。此外,数据帧具有不同的形状,因此我在df1中保留了空值。 提前感谢:)
如何根据列上的0到max(int)值自动递增列。 假设,我希望增量从$0开始。我必须为此代码编辑什么? 进入
问题内容: 我有以下独特的约束 我正在尝试防止两个问题处于活动状态时具有相同的问题编号(IS_ACTIVE值= 1)。 一切似乎都很好,直到我第二次不得不提一个问题。 我需要仅在IS_ACTIVE = 1时应用约束 问题答案: 您可以创建一个基于函数的唯一索引 这利用了以下事实:Oracle b树索引不存储数据,而叶块数据将完全为NULL。
根据和的公共列在中使用填充列的最佳方法是什么? 得到: 编辑:我还想将列名更改为,这样预期的输出如下所示: 尝试过: 它发现了错误: 更新2: : :
我有一个包含这类信息的数据帧: 我想添加第三列,如果描述上有,则该列将接收值1,以获得如下内容:
我试图建立一个专栏,将根据另一个。新列应反映满足某些标准的值,并在值不符合标准的地方放置0。 例如,名为银行余额的列将有负值和正值;新列透支将为相应行提供负值,余额大于0时为0。 最终结果应该是这样的。