我正在开发一个如果安装了MySQL就会安装的WPF应用程序,因此在安装之前,我想检查mysql.proc表是否存在。我用谷歌搜索了一下,最后得到了一个问题
select * from information_schema.Tables
where Table_schema = Schema() and Table_Name = 'mysql.proc'
此查询返回一个空行。
我还尝试了简单的select语句select * from mysql.proc,这将返回一个包含所有存储过程名称的表,但是如果这个表不存在,它就会在c#代码中抛出一个异常。
那么,有没有什么方法可
我想在一个查询中执行以下操作,如果可能的话,我一直在徘徊:
$rowsQ = $mysql->query("SELECT * FROM `table` WHERE (a='a' AND b='b')");
if($rowsQ->num_rows){
$mysql->query("DELETE FROM `table` WHERE (a='a' AND b='b')");
}
我在WHERE中也看到了类似的情况,但只对这样的不同表进行了查询:
$mysql->query
我试图插入到一个mySql表中,表名是select查询的结果,第一个查询返回正确的结果,但是第二个查询似乎是错误所在,非常感谢您提供的任何帮助。
$query = mysql_query("SELECT council from users where username = '$username'");
$x = mysql_result($query,0, "council");
$councilArea = (string)$x;
// mysql inserting a new row
$result = mysql_qu
你好,我正在尝试进行mysql查询,以查找mysql数据库中的表中是否有特定的字符串,如果不存在,请添加它。但我的查询似乎不起作用,我在网上找不到任何东西。(也许在mysql中这样做是不可能的,或者我只是做错了)
IF ( SELECT word FROM words WHERE word = 'hello' ) THEN
BEGIN select * from word;
END;
ELSE
BEGIN INSERT INTO TABLE word VALUES ('hello');
END;
END IF;
thx预先
我在MySQL表table中有以下数据
ID:int(11)这是主键
Date:日期
然后我运行MySQL查询:
SELECT * from table WHERE Date=CURDATE() and ID=1;
这需要0.6到1.2秒。
有没有办法优化这个查询以更快地获得结果?
我的目标是看看我是否已经有了这个ID的今天的记录。
我试图使用MySQL存储引擎对InnoDB数据库表执行操作。此操作是插入或更新类型操作,其中我有一组传入数据,并且表中可能已经有一些必须更新的数据。例如,我可能有一张桌子:
test_table
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| id
我们使用实体框架和.Net连接器在MySQL中编写了一个应用程序。但有时查询在应用程序中无法执行,我们不知道原因。数据库安装在Debian服务器上。
我们在日志文件中显示以下消息:
System.Data.EntityCommandExecutionException: Er is een fout opgetreden tijdens het uitvoeren van de opdrachtdefinitie. Zie de interne uitzondering voor details. ---> MySql.Data.MySqlClient.MySqlException: I
我感兴趣的是SELECT FOR UPDATE查询是否会锁定不存在的行。
示例
表FooBar有两个列,foo和bar,foo有唯一的索引。
问题查询SELECT bar FROM FooBar WHERE foo = ? FOR UPDATE
如果第一个查询返回零行,则发出查询
INSERT INTO FooBar (foo, bar) values (?, ?)
现在,是否有可能INSERT会导致索引违规,或者SELECT FOR UPDATE是否会阻止这种情况?
对SQLServer (2005/8)、甲骨文和MySQL的行为感兴趣。
我想保存用于删除表中的行的mysql查询:
示例:
CREATE TRIGGER `table_DEL` BEFORE DELETE ON `table`
FOR EACH ROW BEGIN
INSERT INTO db_bk.table
SELECT *,NOW(),QUERY()
FROM db.table
WHERE table_id= OLD.table_id;
END
正如您所理解的,我现在想知道是否存在一个query()函数或其他方法来检索激活触发器的查询(确切的delete查询)。
非常感谢
SELECT * FROM device
WHERE (device_id NOT IN (SELECT device_id FROM vehicle)) AND client_id =3
对于我的查询,此查询在phpmyadmin中运行良好。但是没有工作mysql工作台MySql工作台。
我使用的是MySql Workbench版本5.7.20
设备表
device_id device_name status
1 OLX 1
2 AMA 1
车辆表
id vehicle_name device_id status
我想知道以下哪一项在MySQL数据库中执行得更快。该表将有200 - 1000个条目。
SELECT id
from TABLE
order by id desc
limit 1
或
SELECT count(id)
from TABLE
故事是表被缓存了。因此,每次在缓存检索之前都要执行此查询,以通过比较先前的值来确定缓存数据是否无效。
因此,如果有更便宜的查询,请让我知道。谢谢。
这是用于InnoDB和MySQL 5.7的。
如果我有这样的查询:
SELECT A, B, C FROM TABLE WHERE STRCMP(D, 'somestring') > 0
是否可以在D上建立一个可供查询使用的索引?也就是说,MySQL是否足够聪明地为STRCMP函数使用btree索引?
如果没有,我如何才能重新设计查询(和/或表),以便能够对D进行字符串比较,并且可以进行某种形式的剪枝,从而不必命中每一行?