在SQL语法错误1064中更改表修改列查询结果

时间:2014-01-31 23:27:02

标签: php mysql sql pdo

我收到此错误:

  带有消息'SQLSTATE [42000]的

异常'PDOException':       语法错误或访问冲突:1064 SQL语法中有错误;       查看与您的MySQL服务器版本对应的手册       语法在附近使用       '(sfname2 VARCHAR(255)NOT NULL,slname2 VARCHAR(255)NOT NULL,'在第2行'

当我尝试运行此查询时:

$stmnt = $db->prepare('ALTER TABLE eventfields MODIFY  
                       (sfname2 VARCHAR(255) NOT NULL ,
                       slname2 VARCHAR(255) NOT NULL ,
                       ....
                       customfield1 VARCHAR(255) NOT NULL ,)');

为什么?

1 个答案:

答案 0 :(得分:1)

删除列周围的括号,每个要更改的列都需要MODIFY COLUMN

$stmnt = $db->prepare('ALTER TABLE eventfields   
                   MODIFY COLUMN sfname2 VARCHAR(255) NOT NULL ,
                   MODIFY COLUMN slname2 VARCHAR(255) NOT NULL ,
                   ....
                   MODIFY COLUMN customfield1 VARCHAR(255) NOT NULL ');