gpt4 book ai didi

Mysql:如果存在则重命名表

转载 作者:IT老高 更新时间:2023-10-28 23:51:57 24 4
gpt4 key购买 nike

这个 DROP TABLE IF EXISTS 有效,可惜 RENAME TABLE IF EXISTS 无效。

谁能为此查询提出解决方案?

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 EXISTS video_top_day TO video_top_day_for_delete' at line 1

查询:

RENAME TABLE IF EXISTS video_top_day TO video_top_day_for_delete

最佳答案

我已经设法执行了一个代码,该代码始终有效并且在表不存在时不会产生错误:

SELECT Count(*)
INTO @exists
FROM information_schema.tables
WHERE table_schema = [DATABASE_NAME]
AND table_type = 'BASE TABLE'
AND table_name = 'video_top_day';

SET @query = If(@exists>0,
'RENAME TABLE video_top_day TO video_top_day_for_delete',
'SELECT \'nothing to rename\' status');

PREPARE stmt FROM @query;

EXECUTE stmt;

当您不想手动替换[DATABASE NAME]时,您可以使用以下变量

SELECT DATABASE() INTO @db_name FROM DUAL;

关于Mysql:如果存在则重命名表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com