SQL

删除外键约束并新增列

在删除外键约束相关的列并添加新列时遇到错误。错误信息显示该表中不存在该列。该如何修复? Syntax error or access violation: 1091 Can't DROP 'pallet_distributions_rental_purchase_order_id_foreign'; check that column/key exists (SQL: alter table pallet\_distributions drop foreign key pallet\_distributi

用SQL对 Pandas进行查询,但不返回新的数据框

我正在尝试制作一个小应用程序,可以把CSV和 Parquet文件加载到pandas DataFrame,并让我能够用SQL查询它们并使用matplotlib绘制图表。然而每次查询时,它不会返回一个新的DataFrame。如果我把display_data函数中的if data is none语句删掉,我就会得到如下错误: AttributeError: 'NoneType' object has no attribute 'columns' def display_data(dataf): if dataf

使用AND条件查找所有记录的基本SQL查询

我的数据库有一个名为 Items 的项表,使用 ID 作为主键。另一张表 Tags 列出物品的属性(Topic),以 ItemID 和 Topic 作为复合主键。一个物品可以拥有一个或多个主题,这些主题来自第三张表 Topics,通过外键 [Topic] 进行关联。 表 Items: 物品ID 物品名称 1 ItemA 2 ItemB 3 ItemC 4 ItemD 表 Tags 物品ID 主题 1 TopicA 2 TopicA 2 TopicB 3 TopicC 我正在查找具有TopicA或 Topi

不能使用 '.mode --insert table1' 来从 '.read query.sql' 导入数据

在SQLite命令行中,我可以使用 .read 来运行Query.sql,并生成结果集。我可以使用 .output csv 将结果集导出为一个.csv文件,并将其导入到 TargetTable。 我想要将.sql文件的结果集 直接 导入到表中,使用: .mode insert TargetTable .read Query.sql 这些命令会生成有效的 INSERT INTO 语句,但 TargetTable 不会更新。TargetTable 如果我把这些语句复制并粘贴到SQLite命令行上(单独执行或分

如何更改MariaDB的端口?

我已经在Wamp(3.4)中将MariaDB(11.4.9)和MySQL(5.7)并排安装,作为测试我的应用程序的新关系型数据库引擎。 我在连接端口方面遇到了问题。由于MySQL使用端口3306,我的MariaDB实例最初安装在端口3307,因此我必须在我的 connect.php 文件中按如下方式重定向连接: $token = new PDO("mysql:host=localhost;port=3307;dbname=my_db", $dbuser, $dbpass, $pdo_options); 因

作为子查询时,'offset ... fetch next ...' 不起作用

我想创建一个带有一段ids范围的临时表,以便在其他查询中复用它们。当我这样尝试时: select ca.company_id from company_account ca order by ca.id desc offset 0 rows fetch next 500000 rows only; 它按预期工作。但一旦把这个查询嵌入到另一个查询中,它就失败了: DECLARE @company_ids TABLE(id BIGINT); INSERT INTO @company_ids (id) (sel

MariaDB Connector/J 3中 useBatchMultiSend的替代方案是什么?与ProxySQL及批量查询相关的问题

MariaDB Connector/J针对批量INSERT / UPDATE语句使用了一种优化,它会在不等待响应的情况下发送包含INSERT / UPDATE语句的多个Query数据包。 然而,ProxySQL在看到来自客户端的新查询尚未对前一个查询的响应做出时,会把这视为协议错误并关闭连接。 在MariaDB Connector/J 3.0.0版本之前,可以在JDBC连接字符串中设置选项 useBatchMultiSend=false 来禁用该优化并避免不兼容性。然而,这个设置在3.0.0版本中被移除,

Npgsql EF Core不能把枚举映射到PostgreSQL的枚举类型,而是以整数形式发送

我正尝试在我的模型中把一些枚举映射到PostgreSQL的自定义枚举类型,使用EF Core,但无论我怎么做,EF Core总是把值作为整数发送,而不是使用PostgreSQL的枚举类型。 枚举定义: public enum EventType { Purchase, Signup, OfferTrading } DbContext 配置: protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.A

在SQLAlchemy中用命令行与数据库进行交互

我在学习FastAPI,并且想用shell或终端通过SQLAlchemy与数据库交互,以便更好地练习SQLAlchemy。 所以我用我的sync-db来连接数据库,但并未成功。 下面是我用来导入函数 get_db 的代码: ```python from sqlalchemy import create_engine from sqlalchemy.orm import DeclarativeBase, sessionmaker # where to connect SQLALCHEMY_DATABASE_

将BINARY LOWER/UPPER查询转换为CAST

我用这个查询来找出拼错的用户名: SELECT * FROM import_bk WHERE ( bk_name = BINARY LOWER(bk_name) OR bk_name = BINARY UPPER(bk_name) OR bk_name REGEXP '[0-9]' ) 但我总是收到一个警告,说BINARY已被弃用,应该改用CAST。 这是正确的答案吗? bk_name = CAST(UPPER(bk_name) AS BINARY) OR bk_name = CAST(UPPER(bk_