当前位置: 首页 > 面试题库 >

如果表为空,执行INSERT吗?

闻人越
2023-03-14
问题内容

有没有一种方法可以在计数条件下进行插入,例如:

INSERT INTO my_table (colname) VALUES('foo') IF COUNT(my_table) < 1

基本上,如果表当前为空,我想插入一个默认记录。我正在使用mysql。


问题答案:

使用SELECT而不是VALUES可以通过WHERE子句扩展查询。

EXISTS是比COUNT个更好更快的测试

INSERT INTO my_table (colname)
SELECT 'foo'
WHERE NOT EXISTS (SELECT * FROM my_table)


 类似资料:
  • 我正在用PostgreSQL开发一个电影数据库。我有一个触发器,在我插入一个新的节目之前,它会检查节目的日期是否早于电影的发行日期(例如,今天添加了一个阿凡达2的节目)。以下是代码: 问题是,如果SHOWS表为空,var1为空。已通过“加薪通知”进行检查。奇怪的是,只有当表为空时才会发生这种情况。所以,无论我使用什么日期,第一次插入都是错误的。之后,触发器正常工作,var1不再为NULL,而是具有

  • 我正在尝试将一个项目转换为使用SpringWebFlux,但遇到了一个问题:如何让一些基本的业务逻辑正常工作。我有一个存储库层负责检索/持久化记录,还有一个服务层负责应用程序的业务规则。我想做的(在服务层)是检查给定用户名的用户是否已经存在。如果是这样,我想用一个错误来回应。如果没有,我希望允许插入发生。 我在存储库层调用一个方法,该方法将通过用户名查找用户,如果找不到,它将返回一个空的Mono。

  • 我正在使用Pycharm并试图将文本打印到控制台 最终打印命令('

  • 问题内容: 在我的程序中,用户输入number ,然后输入字符串数,这些字符串存储在列表中。 我需要进行编码,以便如果存在某个列表索引,则运行一个函数。 我已经嵌套了if语句,这使情况变得更加复杂。 这是我现在所拥有的简化版本,无法使用: 问题答案: 使用列表的长度来告知您的决定而不是检查每个可能的长度,对您来说更有用吗?

  • 我目前正在替换我所有的标准POJO,以便在所有样板代码中使用Lombok。我发现自己保留了列表的getter,因为如果列表尚未初始化,我希望返回一个空列表。也就是说,我不希望getter返回null。如果有一些我不知道的龙目山魔法可以帮助我避免这样做? 生成的代码示例 我想要的是:

  • 《Java并发实践》(Brian Goetz)中对此进行了阐述(重点是我的): 当Future.get抛出中断或超时异常,并且您知道程序不再需要结果时,请用F取消任务uture.cancel Javadoc for Future.get声明(突出显示的是我的): 抛出InterruptedException-如果当前线程在等待时被中断 因此,据我所知:如果我得到InterruptedExcepti