【问题标题】:I am new to using mysql - as i was trying to create a table i got the error below我是使用 mysql 的新手-当我尝试创建表时,出现以下错误
【发布时间】:2021-04-03 13:00:38
【问题描述】:

它给了我错误-

pymysql.err.ProgrammingError: (1064, "你的 SQL 有错误 句法;检查与您的 MariaDB 服务器相对应的手册 在 'varchar(100) NOT NULL 附近使用正确语法的版本,\n
Title varchar(100) NOT NULL, Firstname varchar...' at line 1")

 con=pymysql.connect(host = "localhost", user = "root", password = "",database ="project1v2")
            cur = con.cursor()
            cur.execute("""CREATE TABLE IF NOT EXISTS employees (Employeeid int(100) NOT NULL AUTO_INCREMENT,Emp ID varchar(100) NOT NULL,
            Title varchar(100) NOT NULL, Firstname varchar(100) NOT NULL,
            Middlename varchar(100) NOT NULL,Lastname varchar(100) NOT NULL,Dob varchar(100) NOT NULL,Nationality varchar(100) NOT NULL,
            ni varchar(100) NOT NULL,Addres varchar(100) NOT NULL,Postcode varchar(100) NOT NULL,phonenumber varchar(100) NOT NULL,Email varchar(100) NOT NULL,
            Wage varchar(100) NOT NULL,Passportnumber varchar(100) NOT NULL,Passportexpirydate varchar(100) NOT NULL,gender varchar(100) NOT NULL,
            righttowork varchar(100) NOT NULL,Kinname varchar(100) NOT NULL,Kinrelation varchar(100) NOT NULL,Kinadress varchar(100) NOT NULL,
            Kinphonenumber varchar(100) NOT NULL,Kinemail varchar(100) NOT NULL,Username varchar(100) NOT NULL, Passwor varchar(100) NOT NULL,
            accesslevel varchar(100) NOT NULL,PRIMARY KEY (Employeeid)""")
            con.commit()
            con.close()

【问题讨论】:

  • 检查您的命令是否适用于 SQL 客户端,它确实表示这是一个语法错误。
  • 太好了,人们花费精力和时间来提出答案和建议,然后你删除你的问题......我建议你在深入研究 gui 和数据库....

标签: python mysql sql create-table


【解决方案1】:

您不能给列名留出空格,如果您愿意,则必须将其括在引号中。

`emp id` 

你最后也缺少右括号。

.. NULL,PRIMARY KEY (Employeeid) ) -- this is missing

db<>fiddle

【讨论】:

    【解决方案2】:

    这里:

    Emp ID varchar(100) NOT NULL,
    

    标识符中不允许有空格,除非标识符被引用。

    我会推荐:

    EmpID varchar(100) NOT NULL,
    

    如果你真的想要那个空间:

    `Emp ID` varchar(100) NOT NULL,
    

    我不建议使用这样的标识符;您需要每次引用它,这很快就会变得乏味。

    【讨论】:

    • 感谢您的响应,但我现在遇到错误 - pymysql.err.ProgrammingError: (1064, "您的 SQL 语法有错误;请查看与您的 MariaDB 服务器版本相对应的手册在第 8 行的 '' 附近使用正确的语法")
    • @khaleeq:语句末尾缺少右括号。
    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 2020-04-16
    • 2021-02-13
    • 2023-02-04
    • 1970-01-01
    • 2023-03-12
    • 2020-08-17
    相关资源
    最近更新 更多