mysql 给空表加内容,MYSQL-如果表为空则插入

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

I tried this:

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;

But I get

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

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);

Demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值