【发布时间】:2019-04-23 10:03:19
【问题描述】:
如果只有表格为空,我想在表格中插入一行。我经历了这个Execute INSERT if table is empty?,但无法这样做。我使用 MariaDB 作为 rdbms。请帮助。提前致谢。
这是我的 sql 语法:
INSERT INTO `policy` (`policy1`, `policy2`, `policy3`, `policy4`)
SELECT ('F', 'F', 'F', 'F')
WHERE NOT EXISTS (SELECT * FROM `policy`)
我的表结构是:
CREATE TABLE `policy` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`policy1` varchar(255) DEFAULT NULL,
`policy2` varchar(255) DEFAULT NULL,
`policy3` varchar(255) DEFAULT NULL,
`policy4` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1
【问题讨论】:
-
我尝试从选择中删除括号,但我仍然在工作台中遇到 sql 错误
-
Offtopic:增加列名,如
policy1、policy2等很可能也是规范化的良好候选者。 -
@RaymondNijland 这些只是虚拟列名。稍后会更改。不过好点。