从 MySQL 表 1064 读取数据时出错 (42000)

Posted

技术标签:

【中文标题】从 MySQL 表 1064 读取数据时出错 (42000)【英文标题】:Error reading data from MySQL table 1064 (42000) 【发布时间】:2022-01-01 14:44:40 【问题描述】:

我正在尝试在 mysql 工作台中使用 python 创建一个表,但每次运行时我都会收到一条错误消息:“从 MySQL 表 1064 (42000) 读取数据时出错:您的 SQL 语法有错误;请检查与您的 MySQL 服务器版本相对应的手册,以便在第 1 行的 '' 附近使用正确的语法

import mysql.connector
from mysql.connector import Error
try:
     connection = mysql.connector.connect(host='localhost',
                                          database='project2',
                                          user='root',
                                          password='123')
     sql_select_Query = ("CREATE TABLE customer (custID int,custName VARCHAR(25), zip int, city VARCHAR(25), state VARCHAR(25)")
     cursor = connection.cursor()
     cursor.execute(sql_select_Query)
     print("customer Table is Created in the Database")
except mysql.connector.Error as e:
     print("Error reading data from MySQL table", e)
finally:
     if connection.is_connected():
          connection.close()
          cursor.close()
          print("MySQL connection is closed")

我一直在尝试各种不同的方法来做到这一点,但我不断收到错误

【问题讨论】:

错误是指您的 sql 查询中的语法。修复查询,一切正常。 【参考方案1】:

你只是在你的 sql 中遗漏了一个“)”,试试这个:

sql_select_Query = ("CREATE TABLE customer (custID int,custName VARCHAR(25), zip int, city VARCHAR(25), state VARCHAR(25))")

请更彻底地阅读您自己的代码。 如果您再次发现该错误,这里有一个简单的技巧:

    打开您的 DBMS 在那里使用您的原始 SQL 确保它有效 将其放入您的代码中

【讨论】:

【参考方案2】:
sql_select_Query = ("CREATE TABLE customer (custID int,custName VARCHAR(25), zip int, city VARCHAR(25), state VARCHAR(25)")

您在查询命令的末尾错过了)

sql_select_Query = ("CREATE TABLE customer (custID int,custName VARCHAR(25), zip int, city VARCHAR(25), state VARCHAR(25))")

【讨论】:

【参考方案3】:

在最后关闭括号:

CREATE TABLE customer (custID int,custName VARCHAR(25), zip int, city VARCHAR(25), state VARCHAR(25));

【讨论】:

以上是关于从 MySQL 表 1064 读取数据时出错 (42000)的主要内容,如果未能解决你的问题,请参考以下文章

mysql建表时出现错误,代码是1064

在MySQL中尝试Forward Engineering时出错1064

MySQL InnoDB表创建联合唯一索引出错?

mysql 插入出错!#1064 请高人解达!

读取数据时出错,错误消息:CSV 表引用列位置 174,但从位置开始的行:136868 仅包含 94 列

mysql数据库delete数据时不支持表别名