gpt4 book ai didi

mysql - 部分 MySQL 查询不生效

转载 作者:行者123 更新时间:2023-11-29 00:46:31 24 4
gpt4 key购买 nike

我编写了一个 python 脚本,可以一次将学生数据(姓名和类(class))添加到一个表中。该表的结构使得有一个主键列、一个学生姓名列,然后是每个类(class)的列。该脚本检查它添加的类是否已作为列存在,如果不存在,则创建它。然后它在当前学生的那一栏下写下“真”。

这是我的问题:从日志文件中我可以看到每个查询都正确发送到数据库,但有些没有显示在表中。当我运行这些查询时:

CREATE TABLE Students (idStudents INT NOT NULL, Name VARCHAR(255) NOT NULL, PRIMARY KEY (idStudents)) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8
SET NAMES 'utf8'
INSERT INTO Students (idStudents, Name) VALUES ('1', 'Bror Tao Sjørslev Bojlen')
SELECT column_name FROM information_schema.columns WHERE table_name='Students'
ALTER TABLE Students ADD 3ubmSL5 VARCHAR(20)
UPDATE Students SET 3ubmSL5='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3uchSL3 VARCHAR(20)
UPDATE Students SET 3uchSL3='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3udaBH3 VARCHAR(20)
UPDATE Students SET 3udaBH3='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3uenA1H1 VARCHAR(20)
UPDATE Students SET 3uenA1H1='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3umaHL4 VARCHAR(20)
UPDATE Students SET 3umaHL4='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3uphH2 VARCHAR(20)
UPDATE Students SET 3uphH2='true' WHERE idStudents='1'
ALTER TABLE Students ADD 3uth1 VARCHAR(20)
UPDATE Students SET 3uth1='true' WHERE idStudents='1'

表格看起来像this .

也就是最终查询

UPDATE Students SET 3uth1='true' WHERE idStudents='1'

没有通过。

我希望这是有道理的,并且有人可以阐明这个问题 - 这让我发疯。

最佳答案

我怀疑最终声明被回滚了。我猜您的客户正在将语句隐式包装在事务中。我特别看到 Navicat 回滚事务包含未明确提交的插入或更新,除非它们伴随着另一条语句。这是一种奇怪的行为,但我通过跟踪观察到了它。

顺便说一句,您的 table 设计很不合常规。学生和类(class)是不同的实体,不应存储在同一个表中。您在这里至少组合了三个不同的表;这不会很好地扩展。

编辑:

其实我在这里发的第一个问题就涉及到这个问题: Unable to insert record from stored procedure called from web service

刚刚想起来了。 :)

关于mysql - 部分 MySQL 查询不生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10356023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com