Mysql批量加数据和删除报错

图形化工具:HeidiSQL(DataGrip 2021.2.2 没有用上)

一、加数据:存储过程

1.创建存储过程

 2.填写名称

 

3.输入代码 

以我创建的为例:

BEGIN
DECLARE i INT;
SET i=1;
while i<=10 DO
INSERT ignore INTO `databasetour`.`company`(`c_id`,`manager`,`c_place`)
VALUES(CONCAT(100+i),CONCAT('经理',i),'上海');
SET i=i+1;
END while;
END

转载的代码:

BEGIN
DECLARE i INT;
SET i = 1;
WHILE i <= 10 DO
INSERT INTO `my_test`.`student`(`id`, `name`, `sex`, `birth`, `department`, `address`)
VALUES(CONCAT(10000 + i), CONCAT('张先生', i), if(i % 2, '男', '女'), FLOOR(1980 + RAND() * 20), '计算机系', '北京市海淀区');
SET i = i + 1;
END WHILE;
END

二、删除数据

1.在datagrip中直接truncate语句会报错:

[HY000][3730] Cannot drop table 'company' referenced by a foreign key constraint 'ledgar_ibfk_1' on table 'ledgar'.

2.在datagrip里没有找到set语句

3.使用HeidiSQL

(1)先删除外键约束

SET FOREIGN_KEY_CHECKS = 0; 

(2)删除语句

①删除整张表,包括存储

drop table  if exists company;

②清空表格内容(数据)

TRUNCATE company;

③根据要求逐行删除数据

delete from company where c_id=0001;

(3)启动外键约束

完整如下:

SET FOREIGN_KEY_CHECKS = 0;   //先归0
TRUNCATE table1;              //在清除数据
SET FOREIGN_KEY_CHECKS = 1;   //能后设置1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值