我正在学习面向对象编程。我的应用程序基于两个MySQL数据库。所以我得到一些记录,经常把一些数据插入到我的数据库中。
有一个名为MySQL的类是正确的吗?这是一个非常简单的类,只有两个方法- Connect()和Disconnect()。这个类如下所示:
Imports MySql.Data.MySqlClient
Public Class MySQL
Private csJablotron As String = My.Settings.csJablotron
Private csBCS As String = My.Settings.csBCS
Private
请帮助我进行查询:我已经在oracle中提到了下面提到的存储过程,我需要将它转换为MySQL。
CREATE OR REPLACE procedure EAMP.EXEC_DDL (SQLSTMT VARCHAR2) AUTHID DEFINER
is
BEGIN
EXECUTE IMMEDIATE SQLSTMT
END EXEC_DDL;
/
这是我在MySQL (5.7版)中创建的:
DROP PROCEDURE IF EXISTS EXEC_DDL;
CREATE DEFINER=`ampd_own`@`%`
PROCEDURE `ampd01`.`EXEC_DDL`(in SQLST
尝试在mysql中创建每日事件:
CREATE EVENT ResetStatus
ON SCHEDULE
EVERY 1 DAY
DO
BEGIN
IF (DATE('2013-04-05') = CURDATE()) THEN
UPDATE mytable
SET resetstatus = 1
WHERE id = (SELECT pid FROM usertable WHERE priority = '
我一直在犯错误。如何在MySQL中运行这样的查询?
UPDATE Events SET eventName = 'hi' IF ROW_COUNT() = 0 INSERT INTO EVENTS (eventName) VALUES (hi);
基本上我想要更新,但是如果没有要更新的数据,我会插入数据。有什么办法可以做到这一点吗?
编辑1获取此错误
mysql> UPDATE Events
-> SET eventName = 'hi';
IF ROW_COUNT() = 0
THEN
DELETE FROM Events
我用firebird编写了这段SQL代码,运行得很好
set term !! ;
EXECUTE BLOCK AS
declare variable vtable_name VARCHAR(31);
BEGIN
for select table_name from mytables into :vtable_name
execute statement 'DROP TABLE ' || :vtable_name || ';';
END!!
set term ; !!
现在,我正尝试在Mysql数据库中做一个非常类似的操作。阅读mysql手册时,我读到了关于循
我试图在MySQL中运行以下查询
CREATE TRIGGER param after insert on wpkp_param_transaction
FOR EACH ROW
BEGIN
INSERT INTO test(trId,ccNumber) VALUES(new.trId, new.ccNumber)
END
导致这个错误..。
MySQL说:文档#1064 -您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以便在第5行使用接近“end”的正确语法。
我不知道是什么导致了这个错误?
对于mysql-5.7.30,以下循环语法似乎是无效的。 mysql> SET @r = 6
-> SET @i = 3
-> WHILE @i <= @r DO
-> BEGIN
-> PRINT @i
-> END WHILE;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syn
我在MySQL中编写SP时遇到问题。从我在网上读到的信息来看,以下内容应该是可行的,但事实并非如此。我使用Mysql v5.1.35
CREATE DEFINER=`My_Username`@`%` PROCEDURE `ChangePassword`(IN SPusername VARCHAR(100),
IN SPoldPassword VARCHAR(100),
IN SPnewPassword VARCHAR(100))
BEGIN
IF EXISTS(SELECT Password_Hash
FROM Customer
我想在MySQL中编写一个触发器,它将记录导致触发器触发的语句。我知道如何在Oracle中这样做:
n := ora_sql_txt(sql_text);
for i in 1..n loop
stmt := stmt || sql_text(i);
end loop;
但我在MySQL中找不到类似的。
我们在主数据库中创建了一个触发器,但是触发器没有显示在从数据库中。
下面是创建触发器的一个示例:
CREATE TRIGGER filter_pos_transaction_delivery_combo_details BEFORE INSERT ON `pos-transaction_delivery_combo_details`
for each row
begin
DECLARE msg VARCHAR(200);
SET @store_code = (SELECT value FROM `admin-settings` WHERE attribute = 'lo
我正在使用XAMPP。我只是厌倦了这个begin..end -
CREATE PROCEDURE dowhile()
BEGIN
DECLARE v1 INT DEFAULT 5;
WHILE v1 > 0 DO
SET v1 = v1 - 1;
END WHILE;
END;
声明并得到错误。我尝试的每一个begin..end或while都会发生这种情况。是因为我的mysql版本吗?XAMPP版本为v3.2.2,mysql为Version information: 4.7.9。我真的很困惑。错误是:
CREATE PROCEDURE dowhile()
BEGIN
我试图理解我为什么会犯这个错误:
注意:第472行E:\xampp\htdocs\CVToolGismo\addCV.php中的未定义索引: id
我得到错误的部分代码是:
if($query = mysql_query("SELECT job_title,company,website,start_date,end_date,start_year,end_year,work_history FROM work WHERE username='$username' order by id asc limit 1") or die(mysql_error(
我试图让mysql触发器在mysql工作台中工作。当有错误的时候,它会很高兴地告诉我,但是当一切看起来都好的时候,它就不会运行。我运行了一个show triggers查询,没有返回任何内容。运行8.0.28。
delimiter //
CREATE TRIGGER add_job_item
AFTER INSERT ON estimate_line
FOR EACH ROW
BEGIN
IF (NEW.CoreTypeID = 3 AND NEW.CoreResourceID IS NOT NULL) THEN BEGIN
INSERT INTO job_items (
我已经创建了一个模块来验证针对不同数据库的凭据。
module Authentication
DATABASES = %w[mysql mssql oracle].freeze
DATABASES.each do |database|
define_method("#{database}_connect") do |args|
client = case database
when 'mysql' then Mysql2::Client.new args.merge(ssl_mode: :disabl
如何将下面的Sql server语句转换为Mysql。而不让它成为存储过程。我们正在将Sql查询迁移到Mysql。
SQL SERVER 1
IF (@val = true)
BEGIN
Insert into custom_report values (1,2,3);
END
ELSE
BEGIN
Insert into custom_report values (4,5,6);
END;
SQL SERVER 2
IF (@val = true)
BEGIN
SELECT * FROM custom_report WHERE is_active = 1;
END
E
我已经尝试了我能想到的每一个可能的组合来解决这个错误,但是它一直在发生。任何帮助都很感激。这只是修改sakila示例数据库以完成更复杂的事情。
见底部,我用-- HERE!标记了错误。
USE sakila;
DROP PROCEDURE IF EXISTS sp_randCustMult;
DELIMITER //
CREATE PROCEDURE sp_randCustMult()
BEGIN
/* section of code left out for troubleshooting
IF EXISTS (SELECT * FROM information_schema.co
背景:
我只是MYSQL的初学者。并尝试在MYSQL中执行事务操作。
查询:
我正在尝试修改mysql中的表,我只是在修改列的数据类型。要执行此操作,请使用tansaction。在出错时回滚事务的好方法是什么?
处理异常的SQL Sever示例:
USE XYDB
BEGIN TRY
BEGIN TRANSACTION;
ALTER TABLE <table> ALTER COLUMN <column> MEDIUMTEXT;
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT
我已经构建了一个MySQL过程。我必须在过程中定义v_table变量
谁能帮我?
谢谢Paolo
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
open cur1;
igmLoop: loop
fetch cur1 into v_column,v_table;
IF done THEN
LEAVE igmLoop;
END IF;
update v_table set v_column=replace(v_column,'Ã
这是为MySQL中的真实情况处理多个case语句的正确方法吗?
SELECT
CASE WHEN place='India' THEN `Order` END AS `Order`
CASE WHEN place='India' THEN `Amount` END AS `Amount`
或者,如果条件为真,是否有更好的方法来获取订单和数量?
我想在Mysql中插入if Not Exists Update With Query但失败。到目前为止我发现的是。
IF EXISTS(SELECT * FROM `subject` WHERE `branch_id` = 1)
THEN
BEGIN
UPDATE `subject` SET (`name` ='KHAN')
WHERE `branch_id` = 1
END
ELSE
BEGIN
INSERT INTO `
我正在编写一个存储过程,以便将数据插入tbluser表。以下是我的存储过程:
BEGIN
/* Check if user already exits*/
DECLARE user_count INT;
select count(*) from tblusers into user_count where name = 'joseph';
/* Calculate the row count of table and calculate the id for new row*/
DECLARE totalrows,current_id INT;
我猜想,我以绝对错误的方式使用了--这些MySQL控制结构(参见下面)。问题可能在MySQL查询中,但我不确定.
MySQL错误:您的SQL语法出现了错误;请检查与MySQL服务器版本对应的手册,以获得使用“IF@MySQL> 1000”的正确语法,然后在第1行的sys_proc_err中选择@actRecords:=COUNT(id)。
#include <mysql.h>
// other includes, declarations for mysql... etc.
int main() {
mysql_init(&mysql);
mysql_r
我有一个查询,在主查询的顶部设置了一个用户定义的变量。就像这样。
set @from_date = '2019-10-01', @end_date = '2019-12-31';
SELECT * FROM myTable
WHERE create_time between @from_date AND @end_date;
当我在MySQL工作台上执行它时,它工作得很好,但是当我通过MySQL将它放到MySQL时,它总是显示出这样一个错误。
我需要用户定义的变量才能在Excel中工作。我应该在我的查询中更改什么?
CREATE TRIGGER `set_avatar_null` BEFORE UPDATE ON `mybb_users`
FOR EACH ROW begin
if new.uid = -1 then
Insert Into Log (uid, Page, Params, Time) values (new.uid, 'set_avatar_null',new.avatar, NOW());
set new.avatar = '', new.avatardimensions='';
end if;
en
在编写代码时,我个人喜欢在填写之前完成流控制/结构。为了允许它在oracle中工作,我可以在空块中放置一个null;命令,以满足解析器的要求。在mysql中,我得到了一个空代码块错误,并且使用null;不起作用。
例如:
if( _orgId IS NULL ) then
select _orgId;
else
null; -- this throws an error.
-- TODO: Write complex statement.
end if;
Mysql是否有等效的空命令,如果是,它是什么?
我有MySQL 5.1.58,我执行了以下命令,用sqlmap对数据库进行指纹分析
python sqlmap.py -d "mysql://root:password@localhost:3306/northwind" --fingerprint'
输出是
[12:26:35] [INFO] the back-end DBMS is MySQL
[12:26:35] [INFO] actively fingerprinting MySQL
[12:26:35] [INFO] executing MySQL comment injection fingerprint
b
使用此语法,我可以在字段中添加记录,但它总是添加2条记录。例如,我输入Ana作为名称。输出将是2个Ana。如果我删除了一条记录,两条记录都会从表中删除/移除。下面是添加记录的语法:
<?php
$host="localhost"; // Host name
$username="****"; // Mysql username
$password="****"; // Mysql password
$db_name="inventory"; // Database name
$tbl_name="cl
我正在尝试用mySQL创建一个IF语句...这是Oracle SQL中的if
CREATE OR REPLACE TRIGGER pruef
BEFORE INSERT ON belegung
FOR EACH ROW
DECLARE
counter_1 INTEGER;
beleg INTEGER;
max_platz INTEGER;
BEGIN
SELECT :new.kurs_id into beleg from dual;
SELECT COUNT (*) INTO counter_1 FROM belegung WHERE kurs_id = beleg;
我是访问VBA的新手。我有一个问题,执行此功能的按钮搜索。当我执行代码时,这个错误将出现在我的屏幕上:
Private Sub btnSearch_Click()
On Error GoTo cmdSearchErrorTrap
Dim MySQL As String, MyCriteria As String, MyRecordSource As String
Dim ArgCount As Integer
Dim Tmp As Variant
ArgCount = 0
MySQL = "Select * from [Incoming] where "
MyC
我正在尝试设置一个进程,在这个过程中,我的团队可以使用变量和基本脚本进行一些常规的DB更改。我只是在许多操作中的第一步,甚至无法让它执行。其思想是在脚本顶部分配变量,并说明是否要在test或prod模式下运行脚本。
test应该只是模拟更改,向您展示会发生什么,然后回滚事务,而prod实际上将提交事务并向您显示更新的行。
当我单独运行这些行时,它们可以工作,但它总是说语法错误。我很乐意帮助调试这个问题,但是如果有人对这个问题有更好的解决方案,我很乐意听到它。
好的,这是开始代码,谢谢提前!
#ADD A NEW QUESTION CATEGORY
SET @new_category_name
到目前为止,我已经尝试了以下两种方法,以及它们的错误消息:
DELIMITER //
CREATE PROCEDURE createModifiedIndex(t varchar(256))
BEGIN
declare idx varchar(256);
DECLARE i int;
declare makeIndexSql varchar(256);
set idx = concat('idx_', t, '_modified_on');
set i = (select count(*) from INFORMAT
正如您所知道的,小型版本的MariaDB (5.5-)应该与MySQL兼容(我已经发现了缺陷,但他们说它的90%)。我在我们的环境中都使用MySQL,在AWS上使用MySQL,在本地Dev服务器和Dev盒上使用Maria。我目前正试图破解一个函数,该函数将自动生成带有随机数据的行。
表的结构将非常简单,如下所示
DROP DATABASE IF EXISTS `foodb`;
CREATE DATABASE `foodb`;
USE `foodb`;
DROP TABLE IF EXISTS `footable`;
CREATE TABLE `footable` (
`id` int(1
我正在将存储过程从MS-SQL转换为MySQL。它是基于有向无环图的,但是我得到了一个语法错误。
原始的MS-SQL脚本在以下页面的清单2中:
我得到的错误是:#1064 -您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解在第36行'DECLARE SQL;INSERT INTO ( startVertex,en‘)附近使用的正确语法
MySQL代码:
DELIMITER //
CREATE PROCEDURE AddEdge(
IN iStartVertexId varchar(36),
IN iEndVertexId varchar(36),
IN iS