草庐IT

zend_db_select

全部标签

MySQL INSERT INTO ... SELECT 或默认值

我正在处理以下查询:INSERTINTOa(id,value)VALUES(_id,(SELECTvalueFROMbWHEREb.id=_id));表a:id、value(有默认值)表b:id,值表b不包含所有请求的值。所以SELECT查询有时会返回0行。在这种情况下,它应该使用a.value的默认值。这有可能吗?编辑:标记为已解决的帖子评论中出现空栏的解决方法。 最佳答案 您可以将值包装在coalesce(max(value),default_value)INSERTINTOa(id,value)VALUES(_id,(SELE

php - 使用 DB::raw 和 Eloquent 使用相同查询的不同结果

在运行Eloquent连接查询时,我得到了一些意想不到的结果。我使用完全相同的查询得到两个不同的结果。一个使用DB::raw()运行,第二个使用Eloquent。在Eloquent查询中,匹配到的用户其中squad_user.leave_time>=seasons.start_time缺失,不会包含在结果集中。匹配的用户或squad_user.leave为空但是会包含在内。这是两个查询结果的唯一区别。原始查询实际上生成了所需的结果集。真正令我困惑的是,如果我检查Laravel和MySQL的查询日志,我会在运行原始查询和Eloquent查询时得到完全相同的查询。原始查询(运行Eloque

mysql - SQL 在每个 SELECT 请求中获取 ROW_NUMBER 和 COUNT

我正在构建一个网格机制,我需要从数据库中检索数据(总计或找到的记录),只检索这些记录的范围,其中包含一个row_number。我使用SqlServer进行测试,但我也需要在Oracle和MySql上支持它。这就是我正在尝试的,但我无法让它工作:SELECT*FROM(SELECTROW_NUMBER()ASRN,COUNT(*)ASTOTALCN,Id,Name,PhoneFROMMyTableWHEREDeleted='F')WHERERN>100ANDRN思路是:MyTable->numberofrecords:1000SelectId,Name,PhonefromMyTablew

mysql - django.db.backends.dummy 和 django.db.backends.mysql 有什么区别?

django.db.backends.dummy和django.db.backends.mysql有什么区别?我发现有人使用dummy和mysql,但我搜索后不知道它们的区别。 最佳答案 django.db.backends.mysql当后端数据库为MySQL时使用。这是由databasesettingsEngine驱动的ENGINE=`django.db.backends.postgresql_psycopg2`因为,django.db.backends.dummy不是一个设置,而是被触发ENGINE=''#Thedefaults

php - "SELECT"命令的准备语句失败,在 PHP 中使用 mysqli

我已经能够使用mysqli(在PHP中)执行多个准备好的语句。但是,由于某种原因,当我尝试运行“SELECT”命令时,准备好的语句总是遇到错误。例如,以下行将成功:$stmt=$mysqli->prepare("UPDATEeventsSETcategory='m'WHEREid=(?)");但是,以下行将失败:$stmt=$mysqli->prepare("SELECT*FROMeventsWHEREid=(?)");当我说失败时,我的意思是接下来的三行将为UPDATE命令返回1(表示更改了一行)...$stmt->bind_param('i',$id);$stmt->execute

mysql - 如何在 mysql Db 中插入行,在 nodejs 中使用 light-orm

我是ORM技术的新手,对mysql使用light-orm,我想知道如何使用light-orm将任何新行插入数据库,或者向我推荐适用于nodejs和mysql的最佳ORM。提前致谢。 最佳答案 完全有效的问题。没有ORM经验,我试图找到答案。这花了我30分钟,为了找到它,我不得不深入研究源代码本身,因为文档中没有任何信息。(之后会提出拉取请求)。摘自documentation:model.create(function(err,model){});这很好,但是我们如何获得您要求的model对象?这是Collectionobject中可

php - MySQL EAV SELECT 一对多单行结果

我在这里看到过类似的问题,但没能找到符合我的具体情况的问题。我有以下三个表:contentid,[otherfields]attributesid,titleattributes_valuesid,attribute_id[foreigntoattributes.id],content_id[foreigntocontent.id],value我想要的是可以返回适当数据的单个查询(或一组子查询),以避免在编程中对其进行操作。有关表格的更多信息:属性具有三个记录(型号编号、零件编号和在购物车中显示)。我需要从内容中选择购物车中显示的attribute_value=1的所有记录。与此同时,

python - 在 peewee union select 中放置一个空字段

我尝试选择两个具有某些公共(public)字段的表。在原始MySQL查询中,我可以这样写:SELECTt1.id,t1.username,t1.dateFROMtable1as't1'UNIONSELECTt2.id,"const_txt",t2.dateFROMtable2as't2'在该查询中,username字段不在table2中,我设置了const_txt。所以,在peewee中,我想合并两个具有相同上述情况的表。classPeeweeBaseModel(Model):classMeta:database=my_dbclassTable1(PeeweeBaseModel):id

带有来自 mysql db 的重音的 Php utf8 文本正则表达式出错

我的MySQL(所有utf8)数据库中有一些带有重音符号的数据。就像“7hà18H”(法语,意思是早上7点到下午6点)。在我的php脚本中,我将mysql连接编码设置为utf8,当我在那里收集文本“7Hà18H”时,重音符号在CLI中正确显示(因为我在CLI中运行脚本)。然后在我尝试解析表达式之后preg_match("#[0-9]+H[Àà][0-9]+H#i",$text);但正则表达式不匹配。我不明白为什么然后我尝试了这个表达式preg_match("#[0-9]+H[Àà]#i",$text,$matches)它奏效了,但匹配是:array(1){[0]=>string(4)"

mysql - 为什么 MySQL 允许 SELECT 查询中的非精确匹配?

这是故事。我正在测试对使用MySQL数据库作为数据主要存储的Laravel(PHP框架)应用程序进行一些安全测试(使用zaproxy)。Zaproxy正在报告可能对具有以下有效负载的POST请求URL进行SQL注入(inject):id[]=3-2&enabled[]=on基本上,这是一个AJAX请求,用于打开/关闭列表中的特定功能。Zaproxy正在对请求进行模糊测试:id值为3-2时,应该有一个整数-要更新的项目的id。问题是这个请求是有效的。它应该会失败,但代码实际上正在更新id=3的项目。我按照我应该的方式做事:使用Eloquent的Model::find($id)方法检索模型