在Liquibase中,我定义一个具有BIT(1)类型的列的表,
<changeSet author="foobar" id="create-configuration-table"> <createTable tableName="configuration"> <column autoIncrement="true" name="id" type="BIGINT(19)"> <constraints primaryKey="true" /> </column> <column name="active" type="BIT(1)" /> <column name="version" type="INT(10)" /> </createTable> </changeSet>
在随后的变更集中,我想将数据插入到此表中,但是,当将数据插入到BIT(1)类型的“活动”列中时,MysqL会抱怨“Data truncation:Data too long for column”
我努力了:
<insert> <column name="active" value="1" type="BIT(1)" /> </insert>
和
<insert> <column name="active" value="1"/> </insert>
和
<insert> <column name="active" value="TRUE" type="BOOLEAN"/> </insert>
插入BIT(1)列的正确方法是什么?
解决方法
回答我自己的问题,因为我发布了这个.要插入到BIT(1)列中,您需要将值定义为valueBoolean
<insert> <column name="active" valueBoolean="true"/> </insert>