代码之家  ›  专栏  ›  技术社区  ›  Eleanor

sql server未关闭的引号,因为插入了带有的字符串

  •  0
  • Eleanor  · 技术社区  · 6 年前

    这是我的密码:

    for i in dat.columns:
        sql_query = """\
                    EXEC sys.sp_addextendedproperty
                         @name = N'Description',
                         @value = N'{}',
                         @level0type = N'Schema', @level0name = '{}',
                         @level1type = N'Table',  @level1name = '{}',
                         @level2type = N'Column', @level2name = '{}'
                    """.format(dat[i][0], db, tb, i)
    

    pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Incorrect syntax near 's'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]Unclosed quotation mark after the character string '\n                    '. (105)")
    

    如何处理这个问题?

    谢谢您!

    2 回复  |  直到 6 年前
        1
  •  1
  •   Brian    6 年前

    在SQL Server中插入包含单引号字符的字符串时,请使用两个连续的单引号。在您的情况下,描述如下:

    'Balabalabalabala... student''s program, balabalabala.'
    
        2
  •  2
  •   Juozas    6 年前