Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用sqlalchemy、pyodbc向数据库中的表中添加新列_Python_Pandas_Sqlalchemy_Pyodbc - Fatal编程技术网

Python 使用sqlalchemy、pyodbc向数据库中的表中添加新列

Python 使用sqlalchemy、pyodbc向数据库中的表中添加新列,python,pandas,sqlalchemy,pyodbc,Python,Pandas,Sqlalchemy,Pyodbc,上面的代码显示了如何使用sqlalchemy和pyodbc将新列添加到数据库中的表中。在大多数情况下,它工作正常,但在最后一步失败。您错误地构建了alter table。。。添加列…SQL 它应该如下所示(对于单列): 或对于多个列: ALTER TABLE table_name ADD COLUMN column_name data_type(precision); 我建议在一个命令中添加所有列,因为它可能会在短时间内锁定字典结构。我还建议您不要在应用程序中执行此操作,如果可能,请手动执行一

上面的代码显示了如何使用sqlalchemy和pyodbc将新列添加到数据库中的表中。在大多数情况下,它工作正常,但在最后一步失败。

您错误地构建了
alter table。。。添加列…
SQL

它应该如下所示(对于单列):

或对于多个列:

ALTER TABLE table_name ADD COLUMN column_name data_type(precision);
我建议在一个命令中添加所有列,因为它可能会在短时间内锁定字典结构。我还建议您不要在应用程序中执行此操作,如果可能,请手动执行一次。如果不可能/不适用,您可以按如下方式更改代码:

ALTER TABLE table_name ADD COLUMN (column1_name data_type(precision), column2_name data_type(precision), column3_name data_type(precision));
ALTER TABLE table_name ADD COLUMN (column1_name data_type(precision), column2_name data_type(precision), column3_name data_type(precision));
'ALTER TABLE {} ADD column ({})'.format(result, ', '.join(['{} {}'.format(c, String(9)) for c in to_create]))