更改SQL语法错误1064中的列修改列查询结果(Alter table modify column query results in SQL Syntax error 1064)

编程入门 行业动态 更新时间:2024-10-26 07:23:17
更改SQL语法错误1064中的列修改列查询结果(Alter table modify column query results in SQL Syntax error 1064) mysql

我收到此错误:

带有消息'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 ,)');

为什么?

I get this error:

exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 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 '(sfname2 VARCHAR(255) NOT NULL , slname2 VARCHAR(255) NOT NULL , ' at line 2'

When I try to run this query:

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

Why?

最满意答案

删除列周围的括号,并且每个要更改的列都需要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 ');

Get rid of the parenthesis around your columns and you need MODIFY COLUMN for each column being altered.

$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 ');

更多推荐

本文发布于:2023-08-06 10:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1446714.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:查询结果   语法错误   Alter   table   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!