我有一个查询,它将数据从多个从表传输到单个主表。下面是我的一个查询的示例:
$insert = mysql_query("
INSERT IGNORE INTO master (title, description, keywords, url, uniqueid, city, state, zip, datetime, expiretime)
SELECT title, description, keywords, url, uniqueid, city, state, zip, datetime, expiretime
FROM slave1 WHERE zip IS NOT NU
我在Zend_Db或PDO驱动程序中遇到了一个看起来很奇怪的问题,这可能是因为我对这两种驱动程序缺乏了解。
让我们假设我有一个MySQL表,其中有一个NULL可实现的TIME字段。如果我在MySQL客户机中运行这样的查询:
UPDATE mytable SET mytime = NULL WHERE id = 1;
一切都按预期工作,在查询后mytime字段将保持NULL作为值。
但是,如果我在PHP中通过Zend_Db_Adapter运行完全相同的查询,则mytime字段在这样的查询之后被设置为'0:0:0':
$db->getConnection()->exec
我有一个用于多个表的通用MySQL语句,它只检索单个表的所有数据:
$table = "profiles";//set static for example
$result = mysql_query("SELECT * FROM `$table`");
我希望结果显示来自position的文本,而不是job_id。如果我仍然希望我的查询保持通用,并且可能有多个字段引用到我想要相关文本而不是id的其他表,我该怎么做呢?
mysql> show columns from profiles;
+-------------+--------------+----
Wowee ..does mysql是否可以使用浮点数!
1)我在mysql字段价格= 0.1中插入一个浮点数
2)我运行以下查询:
select * from buy_test where price = 0.1
哇!我没有得到任何结果
3)我运行以下查询:
select * from buy_test where price < 0.1
I get no results
4)我运行以下查询
select * from buy_test where price > 0.1
耶!我得到了结果,但不是..我想要价格=0.1的地方
如何在mysql中插入浮点数,以便在mys
在mysql数据库中,我需要匹配具有空字段的记录,并将它们替换为NULL,以便运行以下查询:
UPDATE table_name SET col_name=NULL WHERE col_name='';
这是可行的,但它也匹配值为0的字段,如何将此查询更改为只匹配空字段,而忽略值为0的字段?..or是否有更好的方法来做到这一点?
我有一个非常大的MySQL表,其中包含大约150,000行数据。目前,当我尝试运行
SELECT * FROM table WHERE id = '1';
代码运行良好,因为ID字段是主索引。然而,对于该项目的最新发展,我必须按另一个字段搜索数据库。例如:
SELECT * FROM table WHERE product_id = '1';
这个字段以前没有索引;但是,我已经添加了一个,所以mysql现在对该字段进行索引,但是当我尝试运行上面的查询时,它的运行速度非常慢。EXPLAIN查询显示,当我已经为product_id字段添加了索引时,它却没有索引,因此
我正在尝试用phpMyAdmin执行一个MySQL查询。我希望找到一个字段不为空或不为空/空白的条目,因为我继承了系统,因此字段被设置为空,而一些字段只是空白。
无论如何,下面是我正在尝试的查询
SELECT fieldone, fieldtwo
FROM tableone
WHERE fieldone != ' '
OR fieldone IS NOT NULL
和
SELECT fieldone, fieldtwo
FROM tableone
WHERE fieldone <> ' '
OR fieldone IS NOT NULL
两者都在包含
作为背景,我们在工作中使用ZendFramework2和Doctrine。教义总是为我们自己不存在的价值观插入NULL。通常,这是可以的,就好像字段有一个默认值一样,那么它应该用这个默认值填充该字段。
对于运行MySQL 5.6.16的服务器之一,下面这样的查询运行并执行良好。虽然NULL被插入到一个不可为空的字段中,但MySQL在insert上使用其默认值填充该字段。
在另一个运行MySQL 5.6.20的服务器上,我们运行下面的查询,因为它抱怨'field_with_default_value‘不能为null。
INSERT INTO table_name(id, field, f
我的本地主机上有大型MySQL InnoDB表。在本表中,主键为id,在字段a、b、c上设置唯一索引。
当我运行查询时:
SELECT * FROM mytable WHERE a = 1 AND b = 2 AND c = 3;
结果是空集,但这种行肯定存在于表中。当我在末尾添加“AND id = 1234”(其中1234是预期结果的id )时:
SELECT * FROM mytable WHERE a = 1 AND b = 2 AND c = 3 AND id = 1234;
如预期的那样,它返回1行。
唯一的解释是唯一的索引被破坏了。
但当我试着检查表时:
mysqlcheck -c
如何运行在行之间查找重复项的查询?它需要匹配的不是一个字段,而是多个字段。
这是这张桌子的说明。
+-------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+-------------------+----------------+
| id
我有一个在MySQL数据库上使用的查询,它在可能的情况下(当字符字符串是数字时)对结果进行排序,将字符数据库字段转换为整数,因此,例如我在mysql上使用的ORDER BY子句是:
ORDER BY
CASE
WHEN CONVERT(charfield, SIGNED INTEGER) IS NOT NULL THEN
CAST(charfield AS SIGNED INTEGER)
ELSE 9999999999 END
其中charfield是数据库字段字符(25)。
如何为Firebird 2.5翻译这个ORDER BY查询子句?
我这里有一个mysql问题。我要做的是创建一个按钮(‘’),当按下该按钮时,执行一个MYSQL更新查询,该查询将一个数字(比如6 )输入到多个字段中,但是我想得到的是,它只输入一个非空字段。因此,本质上,更新查询将查看字段1 (saved_courses)是否为空,以及是否为插入值,但是否未插入第二个字段(saved_courses2)。
我对此进行了调查,通过我的研究,我得出了以下结论:
mysqli_query($con, "UPDATE user_accounts SET saved_courses3 = case when saved_courses3 is null
下面是我的查询和结构数据:
SELECT *
FROM gmm_sql as a
LEFT JOIN usds as b ON a.dp_id = b.dp_id
LEFT JOIN usdsown as c ON b.dp_id = c.dp_id
WHERE a.comm like '%tree%'
gmm_sql: 21字段。从20-255混合的所有字段varchar()。4,882条记录.
usds: 7字段。从20-255混合的所有字段varchar()。304,713条记录.
usdsown: 14字段。从20
我正在尝试查询MySQL数据库以返回一些结果。例如,我有一个HTML表单,用户可以在其中输入一些搜索值并执行它。该表单包含两个字段:Body和Query String (这两个字段适用于我的数据库表)。
我像这样执行查询:
select count(*) from Message;
结果是:7280
如果我像这样执行查询:
select count(*) from Message where body like '%%';
结果是:7280
正文没有任何null值。
但是如果我将另一个空like添加到查询中:
select count(*) from Message where
我有一个mySQL更新查询,它有时更新所有字段,有时更新除一个字段之外的所有字段。
它在大约10%的电话中失败了。
我的桌子是:
CREATE TABLE IF NOT EXISTS `grades` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`state` int(1) NOT NULL,
`result` varchar(255) NOT NULL,
`date_synced` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`) )
ENG
我试图使用与数据库关联的email字段从数据库中检索该字段:
$query2 = mysql_query("SELECT email FROM `users` WHERE `id` = '".$userID."' ") or die(mysql_error());
这个查询总是返回NULL,我想不出原因。
使用var_dump测试了$userID确实是正确的。
但是,当我将它与硬编码值而不是$userID一起使用时,它工作得很好:
$query2 = mysql_query("SELECT email FROM `users` WHERE
我有以下要查询的MySQL查询和表:
SELECT
`Song`.`id`,
`Song`.`file_name`,
`User`.`first_name`,
`Vote`.`value`,
Sum(`Vote`.`value`) AS score
FROM `songs` AS `Song`
LEFT JOIN votes AS `Vote` ON (`Song`.`id`=`Vote`.`song_id`)
LEFT JOIN `users` AS `User` ON (`Song`.`user_id` = `User`.`id`)
GROUP BY `Vote`.`song_i