gpt4 book ai didi

mysql - 是否可以通过存储过程更改 mySql 中的表?

转载 作者:可可西里 更新时间:2023-11-01 07:50:47 28 4
gpt4 key购买 nike

这就是我想在 mySQL 中做的事情...我感觉这根本不可行,但很想错...

create procedure foo(IN MYTABLE varchar(50) , IN COLNAME varchar (50), IN MYTYPE varchar(50)) 
begin
IF (select count(*) from information_schema.columns where table_name =MYTABLE and column_name = COLNAME) = 0
THEN
alter table MYTABLE add column MYNAME MYTYPE;
end;

call foo( 'table_foo' , 'column_bar' , 'varchar(100)' );

最佳答案

不知道为什么你会想要它,但这是可能的:

DELIMITER //
DROP PROCEDURE foo//
CREATE PROCEDURE foo(IN MYTABLE varchar(50) , IN COLNAME varchar (50), IN MYTYPE varchar(50))
BEGIN
SET @ddl = CONCAT('alter table ', MYTABLE, ' add column (', COLNAME, ' ', MYTYPE, ')');
PREPARE STMT FROM @ddl;
EXECUTE STMT;
END;
//

关于mysql - 是否可以通过存储过程更改 mySql 中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/547804/

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