我正在创建一个MySQL
表在我的Spring Boot
应用程序使用Liquibase
。但是,当我运行mvn清洁安装
时,我看到一个错误,它无法创建表,因为在db.changelog-master.yaml
文件中指定的默认值不正确。
不知道怎么了。请导游。
波姆。xml
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
application.properties
spring.jpa.hibernate.ddl-auto=validate
spring.datasource.url=jdbc:mysql://localhost:3306/agrisell-db
spring.datasource.username=root
spring.datasource.password=123456
src/main/resources/db/changelog/db。变更日志主机。亚马尔
databaseChangeLog:
- changeSet:
id: 1
author: nital.chandel
changes:
- createTable:
tableName: state
columns:
- column:
name: state_cd
type: varchar(2)
autoIncrement: false
constraints:
primaryKey: true
nullable: false
- column:
name: state_name
type: varchar(100)
constraints:
nullable: false
unique: true
- column:
name: create_modified_by
type: varchar(50)
constraints:
nullable: false
defaultValue: 'admin'
- column:
name: create_modified_dt
type: timestamp
constraints:
nullable: false
defaultValue: current_timestamp
- column:
name: active
type: char(1)
constraints:
nullable: false
defaultValue: 'Y'
运行“mvn清理安装”后的错误日志
2019-01-19 23:28:25.249 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : CREATE TABLE `agrisell-db`.DATABASECHANGELOGLOCK (ID INT NOT NULL, `LOCKED` BIT(1) NOT NULL, LOCKGRANTED datetime NULL, LOCKEDBY VARCHAR(255) NULL, CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))
2019-01-19 23:28:25.389 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT(*) FROM `agrisell-db`.DATABASECHANGELOGLOCK
2019-01-19 23:28:25.405 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : DELETE FROM `agrisell-db`.DATABASECHANGELOGLOCK
2019-01-19 23:28:25.405 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : INSERT INTO `agrisell-db`.DATABASECHANGELOGLOCK (ID, `LOCKED`) VALUES (1, 0)
2019-01-19 23:28:25.405 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : SELECT `LOCKED` FROM `agrisell-db`.DATABASECHANGELOGLOCK WHERE ID=1
2019-01-19 23:28:25.421 INFO 10360 --- [ main] l.lockservice.StandardLockService : Successfully acquired change log lock
2019-01-19 23:28:25.926 INFO 10360 --- [ main] l.c.StandardChangeLogHistoryService : Creating database history table with name: `agrisell-db`.DATABASECHANGELOG
2019-01-19 23:28:25.926 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : CREATE TABLE `agrisell-db`.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED datetime NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35) NULL, `DESCRIPTION` VARCHAR(255) NULL, COMMENTS VARCHAR(255) NULL, TAG VARCHAR(255) NULL, LIQUIBASE VARCHAR(20) NULL, CONTEXTS VARCHAR(255) NULL, LABELS VARCHAR(255) NULL, DEPLOYMENT_ID VARCHAR(10) NULL)
2019-01-19 23:28:25.988 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT(*) FROM `agrisell-db`.DATABASECHANGELOG
2019-01-19 23:28:25.988 INFO 10360 --- [ main] l.c.StandardChangeLogHistoryService : Reading from `agrisell-db`.DATABASECHANGELOG
2019-01-19 23:28:26.004 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : SELECT * FROM `agrisell-db`.DATABASECHANGELOG ORDER BY DATEEXECUTED ASC, ORDEREXECUTED ASC
2019-01-19 23:28:26.004 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : SELECT COUNT(*) FROM `agrisell-db`.DATABASECHANGELOGLOCK
2019-01-19 23:28:26.004 INFO 10360 --- [ main] liquibase.executor.jvm.JdbcExecutor : CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))
2019-01-19 23:28:26.004 ERROR 10360 --- [ main] liquibase.changelog.ChangeSet : Change Set classpath:/db/changelog/db.changelog-master.yaml::1::nital.chandel failed. Error: Invalid default value for 'create_modified_dt' [Failed SQL: CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))]
2019-01-19 23:28:26.020 INFO 10360 --- [ main] l.lockservice.StandardLockService : Successfully released change log lock
2019-01-19 23:28:26.020 WARN 10360 --- [ main] o.s.w.c.s.GenericWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set classpath:/db/changelog/db.changelog-master.yaml::1::nital.chandel:
Reason: liquibase.exception.DatabaseException: Invalid default value for 'create_modified_dt' [Failed SQL: CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))]
2019-01-19 23:28:26.020 INFO 10360 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2019-01-19 23:28:26.020 INFO 10360 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2019-01-19 23:28:26.035 INFO 10360 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-01-19 23:28:26.035 ERROR 10360 --- [ main] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set classpath:/db/changelog/db.changelog-master.yaml::1::nital.chandel:
Reason: liquibase.exception.DatabaseException: Invalid default value for 'create_modified_dt' [Failed SQL: CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1745) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:576) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:307) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1083) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:853) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546) ~[spring-context-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316) ~[spring-boot-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:127) [spring-boot-test-2.1.2.RELEASE.jar:2.1.2.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) [spring-test-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) [surefire-junit4-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) [surefire-junit4-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) [surefire-junit4-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) [surefire-junit4-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) [surefire-booter-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) [surefire-booter-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) [surefire-booter-2.22.1.jar:2.22.1]
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) [surefire-booter-2.22.1.jar:2.22.1]
Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set classpath:/db/changelog/db.changelog-master.yaml::1::nital.chandel:
Reason: liquibase.exception.DatabaseException: Invalid default value for 'create_modified_dt' [Failed SQL: CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))]
at liquibase.changelog.ChangeSet.execute(ChangeSet.java:637) ~[liquibase-core-3.6.2.jar:na]
at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:53) ~[liquibase-core-3.6.2.jar:na]
at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:78) ~[liquibase-core-3.6.2.jar:na]
at liquibase.Liquibase.update(Liquibase.java:202) ~[liquibase-core-3.6.2.jar:na]
at liquibase.Liquibase.update(Liquibase.java:179) ~[liquibase-core-3.6.2.jar:na]
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:353) ~[liquibase-core-3.6.2.jar:na]
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:305) ~[liquibase-core-3.6.2.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1741) ~[spring-beans-5.1.4.RELEASE.jar:5.1.4.RELEASE]
... 44 common frames omitted
Caused by: liquibase.exception.DatabaseException: Invalid default value for 'create_modified_dt' [Failed SQL: CREATE TABLE `agrisell-db`.state (state_cd VARCHAR(2) NOT NULL, state_name VARCHAR(100) NOT NULL, create_modified_by VARCHAR(50) DEFAULT 'admin' NOT NULL, create_modified_dt timestamp DEFAULT 'current_timestamp' NOT NULL, active CHAR(1) DEFAULT 'Y' NOT NULL, CONSTRAINT PK_STATE PRIMARY KEY (state_cd), UNIQUE (state_name))]
at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:356) ~[liquibase-core-3.6.2.jar:na]
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:57) ~[liquibase-core-3.6.2.jar:na]
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:125) ~[liquibase-core-3.6.2.jar:na]
at liquibase.database.AbstractJdbcDatabase.execute(AbstractJdbcDatabase.java:1229) ~[liquibase-core-3.6.2.jar:na]
at liquibase.database.AbstractJdbcDatabase.executeStatements(AbstractJdbcDatabase.java:1211) ~[liquibase-core-3.6.2.jar:na]
at liquibase.changelog.ChangeSet.execute(ChangeSet.java:600) ~[liquibase-core-3.6.2.jar:na]
... 52 common frames omitted
Caused by: java.sql.SQLSyntaxErrorException: Invalid default value for 'create_modified_dt'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:782) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:666) ~[mysql-connector-java-8.0.13.jar:8.0.13]
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95) ~[HikariCP-3.2.0.jar:na]
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-3.2.0.jar:na]
at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:352) ~[liquibase-core-3.6.2.jar:na]
... 57 common frames omitted
2019-01-19 23:28:26.035 ERROR 10360 --- [ main] o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@42a48628] to prepare test instance [com.allianceagriskmanagement.agrisell.AgrisellRestApplicationTests@2a2b7a35]
java.lang.IllegalStateException: Failed to load ApplicationContext
通过将defaultValue:current\u timestamp
替换为
defaultValue: now()
在db中。变更日志主机。yaml
文件
now()
是一个函数,它返回一个常量时间,指示语句开始执行的时间,CURRENT\u TIMESTAMP
是now()的同义词
问题内容: 如何为MySQL Datetime列设置默认值? 在SQL Server中为。MySQL的等效功能是什么?如果这是一个因素,我正在使用MySQL5.x。 问题答案: 重要编辑: 自 MySQL 5.6.5起 ,现在可以使用DATETIME字段实现此目的,请看下面的另一篇文章 … 以前的版本无法在DATETIME做到这一点… 但是您可以使用TIMESTAMP来做到这一点: 注意:如果您定
本文向大家介绍如何设置MySQL默认值NONE?,包括了如何设置MySQL默认值NONE?的使用技巧和注意事项,需要的朋友参考一下 要在MySQL中设置默认值,您需要使用DEFAULT关键字。让我们首先创建一个表- 我们为插入时未输入的值设置了DEFAULT以上。现在,让我们使用insert命令在表中插入一些记录。我们尚未在此处为某些行插入值。默认设置在那里- 使用select语句显示表中的所有记
问题内容: 可以为JPA中的列设置默认值吗?如果使用注释,如何做到这一点? 问题答案: 实际上,在JPA中是可能的,尽管使用批注的属性有些小小的改动,例如:
问题内容: CREATE TABLE IF NOT EXISTS ( int(30) NOT NULL, text NOT NULL, text NOT NULL, text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 这里的“ te”表由4个字段组成,分别是id,名称,地址,Aboutus,Aboutus是可选的,这意味着我如何通过phpmy
问题内容: 我有一个表,其中的列类型为默认值,每次更新都更新为。 我想删除此列上的“更新时”功能。如何编写alter语句? 我尝试了以下方法: 但这没用。 问题答案: 皮特几乎是正确的,但对“更改”使用了错误的语法: 请注意,您必须重复列名。另外,请确保您使用反引号而不是单引号来转义列名时间,以防止将其解释为mysql列时间类型。 通过指定CURRENT_TIMESTAMP的默认值,MySQL将不
问题内容: 尝试使用WTForms设置SelectField的默认值时,我像这样将值传递给“默认”参数。 我也尝试了以下方法。 都不将默认选定字段设置为“ Def”。这适用于其他类型的字段,例如TextField。如何设置SelectField的默认值? 问题答案: 你发布的第一种方法是正确的,并且对我有用。唯一无法解释的原因可能是你正在运行旧版本的WTForms,它在1.0.1上对我有效