在MySQL+PHP中,是否可以在一个查询中增加一个int值并返回新值?
$sql = mysql_query("UPDATE table SET number=number+1 WHERE id='uniqid'");
$updated_number = ???
或者我需要发布另一个查询?
SELECT number FROM table WHERE id='uniqid'
我试图为mysql编写一个存储过程,基本上,它将选择一个id,并更新所选id的操作日期。
DELIMITER //
CREATE PROCEDURE getID(
IN proc_intervaldate datetime
)
BEGIN
DECLARE RUserID BIGINT;
SELECT
UserID
INTO RUserID
FROM Tasks
WHERE OperationDate < proc_intervaldate
LIMIT 1 ;
UPDATE Tasks SET O
我需要用如下所示的存储过程填充报告:
CREATE PROCEDURE [dbo].SelectDataToReport
@table_name varchar (25),
@period varchar (25)
AS
BEGIN
DECLARE @mySql nvarchar (MAX)
SET NOCOUNT ON;
SET @mySql = 'SELECT * FROM '+@table_name+' WHERE Period = '+@period+''
EXEC (@my
我用的是这个帖子-
重命名存储过程
在这里,尝试执行答案中所示的命令-
UPDATE `mysql`.`proc`
SET name = '<new_proc_name>',
specific_name = '<new_proc_name>'
WHERE db = '<database>' AND
name = '<old_proc_name>';
我得到了错误-
ERROR 1146 (42S02): Table 'mysql.proc' doesn'
我正在使用MySQL,我想使用一个"with“语句来读取查询中另一个存储过程的输出,但是当我试图在"with”语句中使用"CALL sp_2()“时,它会抛出一个异常。
这个很好用:
CALL sp_2(user_input);
但这个不是:
WITH A AS (CALL sp_2(user_input))
SELECT * FROM A;
我是不是做错了什么,或者MySQL真的不允许"WITH“语句使用其他存储过程?还有别的解决办法吗?
我对SQL的使用还算新手,所以如果这是一个新问题,我很抱歉!
我希望能够在我的网站上以图表形式查看查询结果。然而,问题是查询需要2-3秒来处理(由于200,000+字段上的Distinct计数),并且可能会在一秒内被调用多次。
如果我将查询放在视图中,并让我的图形访问该视图,是否可以将该视图设置为定期更新,而不是每次有人访问该站点时都进行更新?还是有别的办法来解决这个问题呢?
编辑: DBMS is MySQL
以下是我的MySQL存储过程:
DROP PROCEDURE IF EXISTS sp_authenticate;
CREATE PROCEDURE sp_authenticate(IN user_name VARCHAR(50),
IN password1 VARCHAR(50), OUT nmatch INT)
BEGIN
SELECT COUNT(*) INTO nmatch
FROM user1 u
WHERE u.name = user_name AND
u.password1 = password1;
END//
这就是我在PHP中调用它的方
这个简单的代码调用两个MySQL过程,但是在返回值的第一个过程之后,它将在第二个查询中返回一个错误。
注意:单独运行第一个或第二个的将为每一个正确返回。所以查询可以工作,只是不能一起使用。
完全错误是:Invalid query: Commands out of sync; you can't run this command now
请给我任何想法。
<?php
require_once ('connection.php');
//First Query and Output
$result = mysql_query("CALL C01_Clien