- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有谁知道我哪里出错了?数据库更新的语法对我来说看起来是正确的。另外我想知道是否需要关闭连接,比如在每个函数中打开和关闭连接。假设每个函数执行不同类型的数据库命令,一个用于插入,一个用于更新,一个用于删除,就像一个通用示例。
输出:
[root@localhost student_program]# python modify_student.py
Connection successful!!
Enter the id of the student record you wish to modify: 21
Is this student personal information you want to modify - y or n: y
Enter the first name: Jake
Enter the last name: Mc Intyre
Enter the email address: jake@noemail.com
Enter the address: 300 Main Street, New York
Enter the DOB in YYYY-MM-DD: 1960-01-01
Traceback (most recent call last):
File "modify_student.py", line 38, in <module>
modify_student()
File "modify_student.py", line 29, in modify_student
cur.execute(sql, [firstname, lastname, email, address, DOB, student_id])
File "/usr/local/lib/python3.6/site-packages/pymysql/cursors.py", line 170, in execute
result = self._query(query)
File "/usr/local/lib/python3.6/site-packages/pymysql/cursors.py", line 328, in _query
conn.query(q)
File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 893, in query
self._affected_rows = self._read_query_result(unbuffered=unbuffered)
File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 1103, in _read_query_result
result.read()
File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 1396, in read
first_packet = self.connection._read_packet()
File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 1059, in _read_packet
packet.check_error()
File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 384, in check_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python3.6/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(firstname, lastname, email, address, DOB)VALUES ('Jake','Mc Intyre','jake@noema' at line 1")
我的代码:
import os,pymysql
db_root = '/var/lib/mysql/'
db_to_create = 'students'
db_to_use = 'students'
conn = pymysql.connect(host='localhost', user='root', passwd='dbadmin', cursorclass=pymysql.cursors.DictCursor)
print('Connection successful!!')
def modify_student():
student_id = input("Enter the id of the student record you wish to modify: ")
student_info = input("Is this student personal information you want to modify - y or n: ")
if student_info == 'y':
firstname = input("Enter the first name: ")
lastname = input("Enter the last name: ")
email = input("Enter the email address: ")
address = input("Enter the address: ")
DOB = input("Enter the DOB in YYYY-MM-DD: ")
cur = conn.cursor()
command = "use %s; " %db_to_use
cur.execute(command)
sql = 'UPDATE students_info SET (firstname, lastname, email, address, DOB)VALUES (%s,%s,%s,%s,%s) WHERE ID = (%s);'
cur.execute(sql, [firstname, lastname, email, address, DOB, student_id])
print(cur.execute)
conn.commit()
cur.close()
conn.close()
else:
print("else")
modify_student()
最佳答案
更新的语法是:
UPDATE tablename SET name='%s', email='%s' WHERE id='%s'
您正在尝试像 INSERT 一样进行更新。但是 UPDATE 只支持单独设置每个列名,不支持列列表。
尝试:
sql = "UPDATE students_info SET firstname='%s', lastname='%s', email='%s', address='%s', DOB='%s' WHERE ID='%s'"
cur.execute(sql, [firstname, lastname, email, address, DOB, student_id])
关于Python Maria 数据库语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51644037/
我的程序正在运行,但不是按照我想要的方式运行。这是我想要的输出: C:\Documents and Settings\Joe King\My Documents\418.85A Java\Projec
我有一个相当大的表(数百万行),在 MariaDB(InnoDB,5.5.48-MariaDB-1~precise-wsrep)上运行,假设我的表结构如下 [ ID, Field A, Field B
尝试通过多个批处理作业插入数据时,我遇到数据丢失问题。我们有 10.1.21-MariaDB-1~jessie 版本,以 InnoDB 作为默认存储引擎。 我遇到过以下情况: 尽管为数据库中的一条记录
我在 Maria DB 表中有一行将由不同用户在同一时间多次更新(增量),并且我不想错过任何更新。所有 Maria/Mysql 数据库是否默认启用“行锁定”,还是需要配置? 最佳答案 它工作正常。时期
我想知道 key 是如何存储在 mysql/mariadb 数据库中的。据我所知,information_schema.columns 中存储了一些类型:PRI、MUL 和 UNI,分别表示主键、键和
有谁知道我哪里出错了?数据库更新的语法对我来说看起来是正确的。另外我想知道是否需要关闭连接,比如在每个函数中打开和关闭连接。假设每个函数执行不同类型的数据库命令,一个用于插入,一个用于更新,一个用于删
我将 mysql dump 导入到 maria db 中,并丢失了序列化数据。这可能吗?可能是导入过程有问题还是其他什么问题? 除了 maria db 和 mysql 之外,我还在 db 上进行搜索和
我有 2 个表 A 和 B。我想比较表 A 和表 B,对于任何不匹配的记录,我想将整个记录从表 A 更新到表 B。我们有 2 个主键,大约有 4000 万条记录. 我们可以通过一个 SQL 或脚本实现
我正在使用“Spring Boot + Maria B”开发应用程序。在本地环境中使用时我没有任何问题。它按预期工作。当我们将相同的代码移动到生产服务器时,我面临着奇怪的数据库访问问题。 生产技术为T
首先,我不控制我正在管理的数据。它来自电子表格中的客户,我正在尽我所能。我实际上正在处理一团乱七八糟的事情,并试图尽我所能使其正常化。 我正在使用 MariaDB 5.5.30,InnoDB 表格式。
当我搜索数据时,我正在使用 maria DB 来存储数据,我不希望我的查询一次又一次地访问数据库来获取数据,而是有什么方法可以将其存储在 ram 中作为缓存,所以每次我搜索时,搜索查询都不会命中数据库
我有下表: First Name Bryce Marcellin Caroline Kerry Roberto Mary Carol Warren Bonnie Terry L
请帮忙.. 我已经搜索过了。但我仍然不知道我的错在哪里。也许我只是错过了什么。 这里是错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExcep
我找不到 maria DB 推荐的 RAM、磁盘、核心容量数量。我们正在设置初始级别和非常小的数据量。所以我只需要 maria DB 推荐的容量。 感谢你的帮助!!! 最佳答案 看到这几年微服务架构飞
我在将一些字符插入 Maria DB 时遇到问题。我正在使用 maria db 连接器 1.3.2 版本。还建议我是否不应插入这些字符或任何将它们转换为 utf 8 字符的选项 hibernate 属
我正在尝试实现一个最终用户锁定系统,例如, "CREATE TABLE foo ( resource_id BIGINT UNSIGNED NOT NULL, user_id BIG
我有一个虚拟问题 桌面游戏日志 | id | game_id | score| user_id | created_at |1 | 1 | 100 | 1 | 2015-0
在MariaDB中创建一个支持Json类型数据的表。 代码: CREATE TABLE `post` ( `id` int UNSIGNED NOT NULL AUTO_INCREMENT
我正在寻找从 maria DB 创建一个 docker 镜像。我需要设置自己的构建、创建图像并推送到注册表。有人可以让我知道下面要遵循的步骤是什么吗? 如何生成构建 构建和镜像需要什么 对于 (1)
我正在使用 MariaDB 10.2.8。使用 JSON_EXTRACT() 函数从以下 JSON 中的键“2”中提取值所需的语法是什么 { "1":"Windows 10", "2":"Wi
我是一名优秀的程序员,十分优秀!