草庐IT

jobtitle_select

全部标签

mysql - 在 Insert 查询中对相同的表名使用 select 查询

是否可以在“插入”查询中使用“选择”查询,但条件是我想对“选择”和“插入”查询使用相同的表名。例如mysql>insertintosample_elements(name,position,ownerel)值('Namespace1',从sample_elements中选择idwherename='Namespace1',0);请指导我。 最佳答案 将您的插入内容更改为如下所示:insertintosample_elements(name,position,ownerel)select'Namespace1',id,0fromsam

php - 与 MySQL 的 UNION 中每个 SELECT 的不同 ORDER BY

使用PHP和MySQL,有没有办法为UNION中的每个SELECT语句使用不同的ORDERBY?SELECT*FROMthe_tableWHEREcolor='blue'ORDERBYpriceASCLIMIT5UNIONALLSELECT*FROMthe_tableWHEREcolor='red'ORDERBYRAND()LIMIT10上面的说法是行不通的。看来您只能对最终结果集执行ORDERBY。有没有办法在第一个SELECT上执行ORDERBY,然后在第二个SELECT上使用UNION执行不同的ORDERBY? 最佳答案 (S

mysql - 使用 UNION SELECT 删除重复结果

我遇到了MySQL查询的问题。比方说,我们有两个表:编号数量1......12......13......14......3和编号数量1......22......16......17......2我实际需要得到的是一个按id过滤的结果,所以没有重复的id。如果它们是两个相同的ID,则只会考虑数量更大的ID。所以在理想情况下我会得到这个结果:编号数量1......22......13......14......36......17......2到目前为止,我尝试过的是UNIONSELECT,它工作正常,但是当它遇到重复的ID时,它不会删除重复项,因为它只删除重复的行。GROUPBY也没

MySQL Insert Select 不强制执行 NOT NULL 约束

我在运行INSERTINTOxxx(col)SELECT...时遇到MySQL5.6InnoDb忽略NOTNULL外键的问题。当以其他格式运行插入语句时,约束会被正确执行。启用外键检查,并且sql_mode=STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION这是一个例子:CREATETABLETest_Parent(idBIGINT(18)UNSIGNEDPRIMARYKEYNOTNULLAUTO_INCREMENT,dummyVARCHAR(255))ENGINE=InnoDBDEFAULTCHARACTERSET

mysql - SELECT COUNT(复杂查询中的免费房间类别)

我正在开发酒店客房预订系统。该系统将包含一定数量的酒店、房间和房间类别。我已经为这些东西准备好了表格。目前我需要构建一个查询来获取给定日期每个房间类别的可用房间数量。我的房间表是这样的:--------------------------------------------|id|name|hotel_id|room_category_id|--------------------------------------------|1|Room#1|1|1||2|Room#2|1|1||3|Room#3|1|2||4|Room#4|1|2||5|Room#5|1|3||6|Room#6|

mysql - 是否可以在 SQL 中的 SELECT 中合并?

假设我想从名为messages的表中检索100条记录,并且我想通过以下方式获取它们:1stmessage100thmessage2ndmessage99thmessage3rdmessage98thmessage(...)有没有办法高效做到这一点?什么是合适的查询?或者我应该查询选择前50个,查询选择最后50个,然后合并结果? 最佳答案 如果您的ID是一串数字,请尝试:首先SET@half=(SELECTMAX(id)FROMmessages)/2;然后SELECT*FROM`messages`ORDERBY(IF(id

mysql - 在 MySQL 中使用 SELECT ... FOR UPDATE 死锁

假设我有一张table:CREATETABLEt(idINTEGERAUTOINCREMENTNOTNULL,descTEXTNOTNULL)我用1个元素填充表格:INSERTINTOTABLEtVALUES(1,'Hello')我在MySQL中运行两个事务。在t1我运行:STARTTRANSACTION;SELECT*FROMtWHEREid=1FORUPDATE;在t2我运行:STARTTRANSACTION;SELECT*FROMtWHEREid=1FORUPDATE;此时我希望t1在该行上持有一个e(X)独占锁,而t2等待它获得X锁(并且t2确实被阻止了,到目前为止一切顺利)。

mysql - 如何在 mysql/mariaDB 中对 JSON 列执行 SELECT

如何在JSON列上应用WHERE子句以对具有两列(idInteger,attrJSON)的表执行SELECT查询。JSON是嵌套的,过滤条件中只允许有一对json键值对。这个键值对可以在Josn的任何地方。+----+-----------------------------------------------------------------|id|attr|+----+-----------------------------------------------------------------|1|{"id":"0001","type":"donut","name":"Cak

mysql - Postgresql Select * from 表性能 vs MySql

我有一个要移植到PostgreSQL的MySQL数据库(因为GIS功能)。许多表都有数十万行,因此我需要牢记性能。我的问题是PostgreSQL似乎非常慢...例如,如果我对MySQL数据库中的特定表执行简单的SELECT*FROM[table],假设该表有113,000行,则查询需要大约2秒才能返回数据。在PostgreSQL中,对同一张表执行完全相同的查询需要将近10秒。同样,我还有另一个表,行数较少(88,000),而且更糟!MySQL需要1.3秒,PostgreSQL需要30秒!这是我对PostgreSQL的期望,还是我可以做些什么来让它变得更好?我的操作系统是XP,我运行的是

mysql - 是否有 MySQL .. INSERT ... ON DUPLICATE KEY SELECT?

有没有办法执行INSERT但在DUPLICATEKEY而不是更新时执行SELECT? 最佳答案 不在一个查询中,但您可以运行INSERTIGNORE然后SELECT.IGNORE使其忽略任何会触发重复键错误而不是停止的行。 关于mysql-是否有MySQL..INSERT...ONDUPLICATEKEYSELECT?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7004409