mysql遍历某一数据库的某张表的所有字段进行操作

写了一个存储过程,参数是输入数据库名称和表名称,然后对该表的所有字段进行操作,过程如下:

BEGIN
	#将表格中含有\N的值置为空
	DECLARE table_column VARCHAR(64);
	DECLARE flag SMALLINT DEFAULT 0;
	DECLARE curl1 CURSOR FOR
			SELECT COLUMN_NAME FROM information_schema.COLUMNS
					WHERE  TABLE_SCHEMA = my_data_base AND TABLE_NAME = my_table_name;
	DECLARE EXIT HANDLER FOR NOT FOUND SET flag = -1;
	OPEN curl1;
	
	REPEAT
	FETCH curl1 INTO table_column;
	SET @sql1 = CONCAT('UPDATE ', my_data_base, '.', my_table_name, ' SET ', table_column, ' = NULL WHERE ', 
										table_column, " = \'\\\\N'\; " );
	SELECT @sql1;
	PREPARE pre1 FROM @sql1;
	EXECUTE pre1;
	UNTIL flag = -1 END REPEAT;

	DEALLOCATE PREPARE pre1;
	CLOSE curl1;
END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值