目录
- 示例
- 1、cae插入数据时不支持value关键字,只能使用values
- 2、insert时,就算是自增主键,只要新增时包含了主键,该主键就必须有值,否则会报错:字段xxx不能取空值
对接民航电子数据库,本篇记录insert语法差异
示例
1、cae插入数据时不支持value关键字,只能使用values
-- 以下SQL执行会报错
INSERT INTO t_sys_powertype (ID,name) VALUE (null,'测试1')
-- 应将VALUE改为VALUES
INSERT INTO t_sys_powertype (ID,name) VALUES (null,'测试1')
2、insert时,就算是自增主键,只要新增时包含了主键,该主键就必须有值,否则会报错:字段xxx不能取空值
注:t_sys_powertype的ID字段为自增主键
INSERT INTO t_sys_powertype (ID,name) VALUES (null,'测试1')
以上SQL新增数据时主键ID为空值,即使是自增主键,caedb也不会自动赋值,只要字段出现,就必须给值
解决:insert时不指定主键ID
INSERT INTO t_sys_powertype (name) VALUES ('测试1')
在Mybatis中,可以在@Column指定insertable属性来解决该问题
@Column(name = "ID", insertable = false)