-1
Noob Alert.

你好。我正在尝试通过 phpMyAdmin 在 mySQL 中输入此事件。我不确定是否可以使用 YEAR() 和 MONTHNAME() 函数命名该表。甚至在我解决这个问题之前,这个 #1064 错误就已经出现了:

#1064 - 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 'END' at line 14

有人可以指出我做错了什么吗?也可以按照我尝试的方式命名表吗?

CREATE EVENT newmonthlytable
ON SCHEDULE EVERY '1' MONTH
STARTS '2012-09-01 00:00:00'
DO
BEGIN
CREATE TABLE IF NOT EXISTS `YEAR()-MONTHNAME()-0-msgs` 
(`msgid` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`sender` int(11) NOT NULL, 
`reciever` int(11) NOT NULL, 
`sendername` varchar(64) NOT NULL, 
`msg` varchar(512) NOT NULL, 
`tstamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP) 
ENGINE = MyISAM, CHARACTER SET = utf8, COLLATE = utf8_bin
END;
4

1 回答 1

0

有语法错误,要修复它添加';' 在 CREATE TABLE 语句的末尾。

您可以根据需要命名表,但您真的需要吗?最好考虑 db-design,不要从例程创建表。

于 2012-08-21T06:23:13.540 回答