我一直在阅读关于mysql_fetch_*方法的文章。这是我从PHP.org网站上学到的。
mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
mysql_fetch_assoc — Fetch a result row as an associative array
mysql_fetch_object — Fetch a result row as an object
mysql_fetch_row — Get a result row as an enumerat
是否有可能使用由ha_sequence插件提供的MariaDB in MySQL ()?还是为MySQL存在类似的插件?我想列出两个数字之间的序列,但是在一个简单的行中没有过程、函数或表。目前,我对我的序列使用这个查询或解决方法,这是我发现的的一个变体。
select (h*100+t*10+u+1) x from
(select 0 h union select 1 union select 2 union select 3 union select 4 union
select 5 union select 6 union select 7 union select 8 un
我有一个日期字段(tinytext),其中包含"dd-mm-yy“格式的日期信息,例如07-01-90。使用mysql查询,我想将其更改为yyyy-mm-dd日期格式。我尝试了下面的代码,但什么也没有发生。
mysql_query("UPDATE Table SET date=STR_TO_DATE('date','%Y,%m,%d')");
下面是一个MySQL数据库表的SQL查询示例,该表包含一个32长度的varchar字符串作为UUID。如您所见,WHERE子句不包含完整字符串,但MySQL返回结果。
从uuid=9的表中选择*
id uuid name
1 9c8f8632cbbac5b0708a9920f6fac755 John Smith
这是一个预期的行为和MySQL转换字段的类型和搜索条件吗?
我在PHP中有一个简单的行计数。当找不到任何行时,我需要$sfideRicevute为'0',但是这个查询没有返回任何内容。
PHP:
<?php
$sql = "SELECT * FROM `match` WHERE show_id = $showid AND w02 = $id AND status = 'sfida'";
if ($result = mysql_query ("$sql")){
while ($row=mysql_fetch_array ($result)) {
?&
我在MySQL上发现了一些令我吃惊的东西。我创建了一个表并按如下方式将记录插入其中,
CREATE TABLE `test` (
`ID` int,
`NAME` varchar(100)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test VALUES (1,'a'),(2,'b'),(3,'c');
现在,我对此运行两个SELECT查询,如下所示,
select * from test where id;
select * from test where name;
我不知道如何在单次查询中搜索mysql数据库中的所有特殊字符。
就像。搜索mysql并返回其列包含任何特殊字符的行,如“、”%*{等(意思是指某些字段除0-9、A、A以外的字符)。
我想要的示例查询类型
SELECT * FROM mytable where column = 'PATTERN TO DETECT ALL SPECIAL CHARACTERS';
如果我想排除像&()这样的一些特殊的电抗器,也请帮助进行另一个查询。-不被搜查
我正在尝试构建一个查询来检查字符串是否至少包含5个以上的连续数字。
查询;
SELECT count(id) as gV FROM someTable WHERE ... title REGEXP '(\d{5,})' order by id limit 0,10
样本数据
Some text here 123456 (MATCH)
S0m3 t3xt h3r3
Some text 123 here 345
98765 Some text here (MATCH)
Some12345Text Around (MATCH)
期望输出
3 (Some text here 1234
问题说明了一切,如果我检查is_numeric()的变量返回true,是否可以直接放入MySQL查询,或者需要应用标准转义?我在想空字符,溢出漏洞之类的东西。
一个模棱两可的例子是:
if(is_numeric($_GET['user_id'])) {
mysql_query("SELECT * FROM `users` WHERE id = ".$_GET['user_id']);
}
MySQL中的数据类型是INT()。
我正在对mysql数据库执行查询。
有一个名为source的列,其默认值为NULL,用于标记远程数据。
在我的开发服务器上,我使用了一个像DELETE FROM mytable WHERE source这样的查询--这个查询可以很好地工作,并删除了source中值的所有行。
在实时服务器上,此查询无法删除任何行。我假设我需要使用DELETE FROM mytable WHERE source IS NOT NULL。
然而,奇怪的是,mysql对待NULL值的方式会有所不同。这种行为会因mysql版本而异吗?或者,我是否需要在实时服务器上查找导致此查询失败的其他原因?
mysql在其SQL查询语法中有一个自动的、方便的数字来进行字符转换(反之亦然),这是非常危险的。
考虑一个带有userid varchar PK的表
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| userid | varchar(40) | NO | PRI | NU
我有一个mysql表,其中有一列包含电话号码--有些并不是真正的电话号码,我想通过执行一个查询来找出它,该查询类似于"set all phone number to NULL where the phone number of the phone number of 0-9 and '+'“
到目前为止,我想出了以下方法,但不知道如何为‘+’添加容差:
$query="UPDATE table SET phone='NULL' WHERE phone REGEXP ('[0-9]')!=1";
mysql_query($q
日期存储在我的MySql db字段中,如下所示:20160816 /* YearMonthDay*/
如何按月搜索条目?
尝试使用以下regex sql查询来搜索包含月(08)的条目,但没有成功:
SELECT FROM posts WHERE posts.meta_key = 'start_date' AND (CAST(posts.meta_value AS CHAR) REGEXP '\\d{4}08\\d{2}')
在使用预准备语句时,我目前执行两个查询。一个用于获取结果,另一个用于获取找到的行数。以前,我可以用mysql_num_rows的一个查询来完成这项工作。对于较大的查询,我不希望必须复制和粘贴查询,并使用COUNT every query。有没有一种方法可以像mysql_num_rows一样在一个查询中做到这一点?
$connectdb->prepare("SELECT * FROM users WHERE username=:username");
$connectdb->prepare("SELECT COUNT(*) FROM user
我在数据库中有一些记录,其中一个VARCHAR字段可能包含重音字母。如果我使用CLI MySQL客户端执行以下查询,则会返回1行,这是正确的:
SELECT site_id, site_name FROM tbl_site WHERE site_name LIKE '%ém%'
但是,使用一些PHP (PDO)执行相同的查询会返回包含'em‘的所有行,但不会返回包含'ém’的那一行。更奇怪的是,MySQL查询日志显示查询包含'é',而不是'e‘。
你知道这里可能发生了什么吗?
我有一个包含两个表的数据库-用户和消息。
这两个表包含多个公司的记录。
我必须将where companyNo=$companyNo添加到所有查询中。
select * from users where companyNo=$_SESSION['companyNo']
和
select * from messages where companyNo=$_SESSION['companyNo']
有没有办法在companyNo=$_SESSION['companyNo']的MySQL中设置一个‘过滤器’
因此,我可以忽略SQL查询中的company
在MySQL中使用LIKE是很常见的。我们这样使用它:WHERE field LIKE '%substring%'。其中,我们有一个子字符串,而字段有完整的字符串。但我需要的是相反的东西。我在字段中有子字符串。所以,我想要包含字符串的子字符串的那一行。假设表格是:
----+-------------------
id | keyword
----+-------------------
1 | admission
----+-------------------
2 | head of the dept
----+-------------------
我有一个来自
我刚刚注意到,由于某种原因,phpMyAdmin在其生成的SQL查询中似乎总是使用数字字符串值而不是整数值(即'5‘而不是5)来将数据写入MySQL数据库中的整数字段,而我甚至不知道这是有效的SQL。
这让我很好奇,所以我自己做了一些后续实验,并且可以确认这确实是允许的,即使在DDL查询中也是这样:
ALTER TABLE MyTable ALTER COLUMN MyIntField SET DEFAULT '5'
(不用说,"MyIntField“是"int”类型)
以及在普通的插入和更新查询中,例如:
INSERT INTO MyTable (My
我正在将我的MariaDB迁移到MySQL,并且遇到了一些差异。
我有一个非常简单的查询,它在Maria中生成结果(197),但是在mySQL中没有人能提供帮助吗?
SELECT DISTINCT title FROM films where title REGEXP 'The \\w{4}[^\\s]*\\b'
数据库完全相同(从MariaDB导出到MySQL,没有任何问题)。
我试图从我的表中删除不以alnum字符开头的记录。我试过很多不同的东西,但MySQL似乎不打球。
我目前的查询是:
SELECT *
FROM central_store
WHERE DomainName NOT REGEXP '^[[a-z|0-9]]'
我也尝试了选项,但是我的结果仍然返回以0-9开头的记录。我知道这可能是基本的,但请有人解释一下我做错了什么。
mySQL是否对用户连接使用特定的连接id (thread_id)范围?我注意到我做的所有连接都在50岁左右,大约55,56。但是还有其他的连接(不是我的)是8和9。
或者,是否有一个表,我只能选择用户conenction id的?
我正在处理的查询是:
USE mysql;
SELECT * FROM general_log
WHERE command_type='query' AND argument REGEXP ('^(SELECT|INSERT|DELETE|UPDATE).*') AND thread_id != CONNECTION_ID()
我使用的是Aurora数据库(MySQL引擎),它有一个非常基本的查询:
SELECT * FROM phones_table where phone_number = 98371381;
在phone_number列的那个表上有一个索引:
mysql> show index from vaya_call_data_record;
+--------------+------------+--------------------------------+--------------+----------------+-----------+-------------+----------
我在mysql中有以下查询:
foreach($keywords as $keywordKey => $keyword){
$query = $query . " AND (id='".$keyword."' OR name LIKE '%".$keyword."%' OR email LIKE '%".$keyword."%' OR phone LIKE '%".$keyword."%')";
}
$query = $query .
我想使用Hibernate从文件运行原生SQL。SQL可以包含多个创建数据库结构的语句(即表、约束,但不包含插入/更新/删除语句)。
下面是一个非常简单的查询示例(包含以下两个SQL语句)
CREATE DATABASE test;
CREATE TABLE test.testtbl( id int(5));
我使用的是MySQL db,当我运行上面的查询时,我得到了返回的语法错误。当我一个接一个地运行它们时,这是可以的。
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
You have an err