MYSQL-如果表为空则插入 [英] MYSQL - Insert If Table is empty

查看:310
本文介绍了MYSQL-如果表为空则插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果表为空(0行),我想在表上插入一些数据.

I want to insert some data on my table if the table is empty (0 rows).

我尝试过:

IF NOT EXISTS(SELECT 1 FROM `account_types`)
THEN
       INSERT INTO `account_types` (`type`, `group`) VALUES ('400', 'test');
       INSERT INTO `account_types` (`type`, `group`) VALUES ('401', 'test2');
END IF;

但是我明白了

错误代码:1064.您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'IF NOT EXISTS(SELECT <1 from account_types)然后在第1行插入'account_types'中使用

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS(SELECT 1 FROM account_types) THEN INSERT INTO `account_types' at line 1

我该怎么办?我正在使用MYSQL

What can I do ? I'm using MYSQL

推荐答案

INSERT INTO `account_types`(`type`, `group`)
SELECT * FROM
(SELECT '400' `type`, 'test' `group` UNION ALL
 SELECT '401' `type`, 'test2' `group` UNION ALL
 SELECT '402' `type`, 'test3' `group`) A
WHERE NOT EXISTS (SELECT NULL FROM account_types B WHERE A.type=B.type);

演示

http://sqlfiddle.com/#!9/d1e80e/1

这篇关于MYSQL-如果表为空则插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆