Questions tagged «mysql»

MySQL是使用结构化查询语言(SQL)的免费,开放源代码关系数据库管理系统(RDBMS)。请勿将此标签用于其他数据库,例如SQL Server,SQLite等。那些是不同的数据库,它们都使用自己的SQL方言来管理数据。


12
修复“超过锁定等待超时;尝试重新启动事务”为“卡住”的Mysql表?
从脚本中,我将这样的查询发送了数千次到本地数据库: update some_table set some_column = some_value 我忘了添加where部分,因此同一列被设置为表中所有行的相同值,并且完成了数千次,并且对该列进行了索引,因此相应的索引可能被更新了太多次。 我注意到出了点问题,因为花了太长时间,所以我杀死了脚本。从那以后,我什至重新启动了计算机,但是表中有些东西卡住了,因为简单的查询需要很长时间才能运行,当我尝试删除相关的索引时,它失败并显示以下消息: Lock wait timeout exceeded; try restarting transaction 这是一个innodb表,因此卡住的事务可能是隐式的。如何修复该表并从中删除卡住的事务?



30
XAMPP-MySQL意外关闭
当我打开XAMPP并单击启动MySQL按钮时,它给了我一个错误。我刚刚开始,但是现在不起作用。 12:19:12 PM [mysql]尝试启动MySQL应用... 12:19:12 PM [mysql]检测到状态更改:正在运行 12:19:13 PM [mysql]检测到状态更改:已停止 12:19:13 PM [mysql]错误:MySQL意外关闭。 12:19:13 PM [mysql]这可能是由于端口阻塞,缺少依赖项, 12:19:13 PM [mysql]不当权限,崩溃或通过其他方法关闭 12:19:13 PM [mysql] ]按下日志按钮以查看错误日志,并检查 12:19:13 PM [mysql] Windows事件查看器以获取更多线索 12:19:13 PM [mysql]如果您需要更多帮助,请复制并发布以下 12:19: 13 PM [mysql]论坛上的整个日志窗口 这是错误日志的内容: 2013-08-02 12:19:12 4536 [注意]插件“ FEDERATED”已禁用。 2013-08-02 12:19:12 f64 InnoDB:警告:已弃用innodb_additional_mem_pool_size。在将来的发行版中,此选项可能与选项innodb_use_sys_malloc和InnoDB的内部内存分配器一起删除。 2013-08-02 12:19:12 4536 [注] InnoDB:禁用了InnoDB内存堆 2013-08-02 …
131 mysql  xampp 



10
MySQL,使用SQL检查表中是否存在列
我正在尝试编写一个查询,该查询将检查MySQL中的特定表是否具有特定列,如果没有,请创建该列。否则什么都不做。在任何企业级数据库中,这实际上都是一个简单的过程,但是MySQL似乎是一个例外。 我以为 IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update') BEGIN ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL; UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`; END; 可以,但是失败很严重。有办法吗?
130 mysql 


2
MySQL加入where子句
我有两个要加入的表。 我想要类别表中的所有类别以及用户在category_subscriptions表中订阅的所有类别。 基本上这是我到目前为止的查询: SELECT * FROM categories LEFT JOIN user_category_subscriptions ON user_category_subscriptions.category_id = categories.category_id 这工作正常,但是我想在查询的末尾添加一个where子句,然后从本质上使其成为内部/公平联接。 SELECT * FROM categories LEFT JOIN user_category_subscriptions ON user_category_subscriptions.category_id = categories.category_id WHERE user_category_subscriptions.user_id = 1 如何仅使用一个查询获取特定用户订阅的所有类别以及所有类别? category_id是类别表和user_category_subscriptions中的键。驻留在user_category_subscriptions表中的user_id。 谢谢
130 mysql  join  where-clause 


10
使用SQLAlchemy ORM批量插入
有什么方法可以让SQLAlchemy进行批量插入,而不是插入每个对象。即 在做: INSERT INTO `foo` (`bar`) VALUES (1), (2), (3) 而不是: INSERT INTO `foo` (`bar`) VALUES (1) INSERT INTO `foo` (`bar`) VALUES (2) INSERT INTO `foo` (`bar`) VALUES (3) 我刚刚将一些代码转换为使用sqlalchemy而不是原始sql,尽管现在使用它起来要好得多,但现在似乎要慢一些(最多10倍),我想知道这是否是原因。 也许我可以更有效地使用会话来改善这种情况。目前,我已经添加了一些东西,autoCommit=False并做了一个session.commit()。尽管如果在其他地方更改了数据库,这似乎会使数据过时,例如,即使我执行新查询,我仍然可以返回旧结果? 谢谢你的帮助!

18
错误1452:无法添加或更新子行:外键约束失败
我已经在MySQL Workbench中创建了表,如下所示: ORDRE表: CREATE TABLE Ordre ( OrdreID INT NOT NULL, OrdreDato DATE DEFAULT NULL, KundeID INT DEFAULT NULL, CONSTRAINT Ordre_pk PRIMARY KEY (OrdreID), CONSTRAINT Ordre_fk FOREIGN KEY (KundeID) REFERENCES Kunde (KundeID) ) ENGINE = InnoDB; 产品表: CREATE TABLE Produkt ( ProduktID INT NOT NULL, ProduktBeskrivelse VARCHAR(100) DEFAULT NULL, ProduktFarge …

22
如何获取MySQL中的下一个/上一个记录?
假设我有ID为3、4、7、9的记录,并且我希望能够通过下一个/上一个链接导航到另一个。问题是,我不知道如何获取具有最近的较高ID的记录。 因此,当我有一个ID为4的记录时,我需要能够获取下一个现有记录,即7。查询可能看起来像 SELECT * FROM foo WHERE id = 4 OFFSET 1 如何获取下一个/上一个记录,而不获取整个结果集并手动进行迭代? 我正在使用MySQL 5。
129 sql  mysql 

12
通过PHP数组插入多行到MySQL
我正在使用插入命令通过PHP将大型数据集传递到MySQL表中,并且我想知道是否有可能通过查询而不是将每个值附加到一英里长的字符串的末尾一次插入大约1000行,然后执行它。我正在使用CodeIgniter框架,因此我也可以使用它的功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.