我在同一个网站上创建了几个日志 - 所有这些都具有相同的结构,所以当我需要添加一个新的日志时,我希望能够通过一个简单的功能或其他东西(因为表格 - 结构将完全相同。)
DELIMITER //
CREATE FUNCTION GenerateNewLogbook(LogbookTitle varchar(15))
BEGIN
DROP TABLE IF EXISTS LogbookTitle;
CREATE TABLE LogBookTitle (
time timestamp NOT NULL DEFAULT NOW(),
username varchar(25) DEFAULT NULL,
message text,
crossout tinyint(1) NOT NULL DEFAULT '0',
post_id mediumint(9) NOT NULL AUTO_INCREMENT,
file_id text,
PRIMARY KEY (post_id)
) ENGINE=InnoDb AUTO_INCREMENT=0 DEFAULT CHARACTER SET=latin1;
END//
DELIMITER ;
我得到的错误是:
错误1064(42000):您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'BEGIN附近使用正确的语法 DROP TABLE IF EXISTS LogbookTitle; 在第2行创建表LogBookTit
我尝试过很多东西:取代“;”使用“//”,创建一个PROCEDURE而不是FUNCTION,在LogBookTitle之前添加“@”,删除BEGIN / END等,并花了很长时间搜索示例无效。
上述代码有什么问题?