1
ich diese grundlegende SQL-Datei haben:python3 - psycopg2 - Ausführung von SQL-Datei
CREATE TABLE `app_users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(200) DEFAULT NULL,
`password` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
und wollen es über Python ausführen:
connect_str = "dbname='dbname' user='user' host='192.168.1.101' password='password'"
conn = psycopg2.connect(connect_str)
cursor = conn.cursor()
fd = open('file.sql', 'r')
sqlFile = fd.read()
fd.close()
sqlCommands = sqlFile.split(';')
for command in sqlCommands:
print(command)
if command.strip() != '':
cursor.execute(command)
Wenn ich ausführen dies über "python3 app.py" es verbindet, aber bekomme ich nur:
psycopg2.ProgrammingError: syntax error at or near "`"
LINE 1: CREATE TABLE `app_users` (
aber ich habe keine Ahnung, warum .. jemand mir mit diesem Problem helfen könnte?
Dank und Grüße
Ich schlage vor, in der Art von Zitat suchen Sie verwenden. Dies 'ist anders' und jede Programmiersprache wird verschiedene Möglichkeiten haben, sie zu interpretieren, zu parsen und zu entkommen. –
Normalerweise verwende ich \, um das in Anführungszeichen gesetzte Zeichen zur Ausführung von sql in Python zu umgehen. So etwas wie diese CREATE TABLE \ 'app_users \' (... – Alam
ich ersetzte 'mit 'und \. Beide ergeben in der gleichen Fehler. –