对于Python和MySQLdb:替换表会导致语法错误感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解mysql替换所有表中数据,并且为您提供关于c#–为什么nullable上的模式匹配会导
对于Python和MySQLdb:替换表会导致语法错误感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解mysql替换所有表中数据,并且为您提供关于c# – 为什么nullable上的模式匹配会导致语法错误?、C#,MySQL,ADO.NET,分隔符导致语法错误、Centos 7.4 安装ipython和mysql-python遇到的问题、MySQL DECLARE中的SELECT INTO变量会导致语法错误?的宝贵知识。
本文目录一览:- Python和MySQLdb:替换表会导致语法错误(mysql替换所有表中数据)
- c# – 为什么nullable上的模式匹配会导致语法错误?
- C#,MySQL,ADO.NET,分隔符导致语法错误
- Centos 7.4 安装ipython和mysql-python遇到的问题
- MySQL DECLARE中的SELECT INTO变量会导致语法错误?
Python和MySQLdb:替换表会导致语法错误(mysql替换所有表中数据)
我需要不时动态地更改表和变量,因此我编写了这样的python方法:
selectQ ="""SELECT * FROM %s WHERE %s = %s;""" self.db.execute(selectQ,(self.table,self.columnSpecName,idKey,)) return self.db.store_result()
但是,这导致语法错误异常。我尝试对其进行调试,因此我将变量打印在方法中,然后手动将其填充,并且可以正常工作。所以我不确定我在做什么错?
是因为我尝试使用表的替代品吗?
另外,我该如何调试mysqldb以便将替换查询打印为字符串?
答案1
小编典典DB API中的参数替换仅适用于值-不适用于表或字段。您将需要使用普通的字符串替换:
selectQ ="""SELECT * FROM %s WHERE %s = %%s;""" % (self.table,self.columnSpecName)self.db.execute(selectQ,(idKey,))return self.db.store_result()
请注意,值占位符有一个double-%
这是初始字符串替换将其保留的位置。
c# – 为什么nullable上的模式匹配会导致语法错误?
int t = 42; object tobj = t; if (tobj is int? i) { System.Console.WriteLine($"It is a nullable int of value {i}"); }
但是,这会导致以下语法错误:
> CS1003: Syntax error,‘;’,
> CS1525: Invalid expression term ‘)’,
> CS0103: The name ‘i’ does not exist in the current context
‘i)’标有红色波浪线.
使用旧运算符时表达式编译为:
int t = 42; object tobj = t; if (tobj is int?) { System.Console.WriteLine($"It is a nullable int"); } string t = "fourty two"; object tobj = t; if (tobj is string s) { System.Console.WriteLine($@"It is a string of value ""{s}""."); }
也按预期工作.
(我正在使用c#-7.2并使用.net-4.7.1和.net-4.6.1进行测试)
我认为它与运算符优先级有关.因此,我尝试在几个地方使用括号,但这没有帮助.
为什么会出现这些语法错误,如何避免这些错误呢?
解决方法
x
is null
.这是因为
null
doesn’t have a type,所以问“这是这种类型的null吗?”是一个毫无意义的问题.
因此t是int? i或t是Nullable< int>我作为一个模式没有任何意义:要么t是一个int,在这种情况下t是int我会匹配,或者它是null,在这种情况下没有类型模式可以导致匹配.
那就是t为int的原因? i或t是Nullable< int>我不是,也可能永远不会得到编译器的支持.
使用t时从编译器获得其他错误的原因是int?我是因为,例如,t是int? “它是一个int”:“这里没有int”是有效的语法,因此编译器对你的使用尝试感到困惑?对于这种情况下的可空类型.
至于如何避免它们,明显(尽管可能不是很有帮助)的答案是:不要使用可空类型作为类型模式中的类型.更有用的答案需要您解释为什么要尝试这样做.
C#,MySQL,ADO.NET,分隔符导致语法错误
一个.sql文件基本如下:
DROP PROCEDURE IF EXISTS myProc; DELIMITER $$ CREATE PROCEDURE myProc() BEGIN -- procedure stuff goes here END $$ DELIMITER ; CALL myProc();
当我将它输入到MySQL查询浏览器的脚本窗口时,它会一遍又一遍地运行,就像人们希望的那样.
但是,如果我将字符串放入我的IDbCommand并执行它…
connection.open(); // An IDbConnection IDbTransaction transaction = connection.BeginTransaction(); using (IDbCommand cmd = connection.CreateCommand()) { cmd.Connection = connection; cmd.Transaction = transaction; cmd.CommandText = line; cmd.CommandType = CommandType.Text; try { cmd.ExecuteNonQuery(); } catch (sqlException ex) { transaction.Rollback(); return false; } } transaction.Commit(); connection.Close();
……我得到了可怕的例外1064 ……
You have an error in your sql Syntax; check the manual that
corresponds to your MysqL server version for the right Syntax to use
near ‘DELIMITER $$CREATE PROCEDURE myProc() BEGIN…
所以,问题是……为什么MysqL让我这样做没有问题,但是当我尝试从C#运行它时,它失败了?当然第二个问题是我应该如何修复它.
解决方法
Centos 7.4 安装ipython和mysql-python遇到的问题
pip安装ipython报错记录
#pip install ipython==5.5.0
Collectingipython==5.5.0 Downloadinghttp://mirrors.aliyun.com/pypi/packages/08/2c/6285504003b4eadce5540f3ee3adc081468b26723f3eef07d9d5d7d97ed8/ipython-5.5.0-py2-none-any.whl(758kB) 100%|████████████████████████████████|768kB3.9MB/s Requirementalreadysatisfied:pygmentsin/usr/lib64/python2.7/site-packages(fromipython==5.5.0) Requirementalreadysatisfied:setuptools>=18.5in/usr/lib/python2.7/site-packages(fromipython==5.5.0) Requirementalreadysatisfied:backports.shutil-get-terminal-size;python_version=="2.7"in/usr/lib/python2.7/site-packages(fromipython==5.5.0) Requirementalreadysatisfied:traitlets>=4.2in/usr/lib/python2.7/site-packages(fromipython==5.5.0) Requirementalreadysatisfied:simplegeneric>0.8in/usr/lib/python2.7/site-packages(fromipython==5.5.0) Collectingpickleshare(fromipython==5.5.0) Downloadinghttp://mirrors.aliyun.com/pypi/packages/9f/17/daa142fc9be6b76f26f24eeeb9a138940671490b91cb5587393f297c8317/pickleshare-0.7.4-py2.py3-none-any.whl Requirementalreadysatisfied:decoratorin/usr/lib/python2.7/site-packages(fromipython==5.5.0) Collectingprompt-toolkit<2.0.0,>=1.0.4(fromipython==5.5.0) Downloadinghttp://mirrors.aliyun.com/pypi/packages/d1/b0/1a6c262da35c779dd79550137aa7c298a424987240a28792ec5ccf48f848/prompt_toolkit-1.0.15-py2-none-any.whl(247kB) 100%|████████████████████████████████|256kB61.8MB/s Requirementalreadysatisfied:pexpect;sys_platform!="win32"in/usr/lib/python2.7/site-packages(fromipython==5.5.0) Collectingpathlib2;python_version=="2.7"orpython_version=="3.3"(fromipython==5.5.0) Downloadinghttp://mirrors.aliyun.com/pypi/packages/74/4e/68add57f8b993bb5da70c22c7eebb4266c7b66cab15095a1578cc6a62b1a/pathlib2-2.3.0-py2.py3-none-any.whl Requirementalreadysatisfied:ipython-genutilsin/usr/lib/python2.7/site-packages(fromtraitlets>=4.2->ipython==5.5.0) Requirementalreadysatisfied:enum34;python_version=="2.7"in/usr/lib/python2.7/site-packages(fromtraitlets>=4.2->ipython==5.5.0) Requirementalreadysatisfied:sixin/usr/lib/python2.7/site-packages(fromtraitlets>=4.2->ipython==5.5.0) Collectingwcwidth(fromprompt-toolkit<2.0.0,>=1.0.4->ipython==5.5.0) Downloadinghttp://mirrors.aliyun.com/pypi/packages/7e/9f/526a6947247599b084ee5232e4f9190a38f398d7300d866af3ab571a5bfe/wcwidth-0.1.7-py2.py3-none-any.whl Collectingscandir;python_version<"3.5"(frompathlib2;python_version=="2.7"orpython_version=="3.3"->ipython==5.5.0) Downloadinghttp://mirrors.aliyun.com/pypi/packages/77/3f/916f524f50ee65e3f465a280d2851bd63685250fddb3020c212b3977664d/scandir-1.6.tar.gz Installingcollectedpackages:scandir,pathlib2,pickleshare,wcwidth,prompt-toolkit,ipython Runningsetup.pyinstallforscandir...error Completeoutputfromcommand/usr/bin/python2-u-c"importsetuptools,tokenize;__file__='/tmp/pip-build-Ezagxu/scandir/setup.py';f=getattr(tokenize,'open',open)(__file__);code=f.read().replace('\r\n','\n');f.close();exec(compile(code,__file__,'exec'))"install--record/tmp/pip-XwbXPl-record/install-record.txt--single-version-externally-managed--compile: runninginstall runningbuild runningbuild_py creatingbuild creatingbuild/lib.linux-x86_64-2.7 copyingscandir.py->build/lib.linux-x86_64-2.7 runningbuild_ext building'_scandir'extension creatingbuild/temp.linux-x86_64-2.7 gcc-pthread-fno-strict-aliasing-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong--param=ssp-buffer-size=4-grecord-gcc-switches-m64-mtune=generic-D_GNU_SOURCE-fPIC-fwrapv-DNDEBUG-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong--param=ssp-buffer-size=4-grecord-gcc-switches-m64-mtune=generic-D_GNU_SOURCE-fPIC-fwrapv-fPIC-I/usr/include/python2.7-c_scandir.c-obuild/temp.linux-x86_64-2.7/_scandir.o _scandir.c:14:20:fatalerror:Python.h:Nosuchfileordirectory #include<Python.h> ^ compilationterminated. error:command'gcc'Failedwithexitstatus1 ---------------------------------------- Command"/usr/bin/python2-u-c"importsetuptools,'exec'))"install--record/tmp/pip-XwbXPl-record/install-record.txt--single-version-externally-managed--compile"Failedwitherrorcode1in/tmp/pip-build-Ezagxu/scandir/
解决方法:
yum install python-devel libxslt-devel libffi-devel openssl-devel gcc gcc-c++ kernel-devel
CentOS7安装MysqL-python出错
解决方法:
yum install python-devel MysqL-devel zlib-devel openssl-deve
资料:https://www.92ez.com/?action=show&id=23431
MySQL DECLARE中的SELECT INTO变量会导致语法错误?
我想选择一个值到一个变量中。我试图遵循:
DECLARE myvar INT(4);
-立即返回一些语法错误。
SELECT myvalue
FROM mytable
WHERE anothervalue = 1;
-返回一个整数
SELECT myvalue
INTO myvar
FROM mytable
WHERE anothervalue = 1;
-不起作用,也尝试了@myvar
是否可以在存储过程或函数之外使用DECLARE?
也许我只是不了解用户变量的概念……我只是尝试过:
SELECT myvalue INTO @var FROM `mytable` WHERE uid = 1;
SELECT @var;
…工作原理与预期的一样。但是,如果我一次运行每个查询,我只会得到@var NULL。
今天的关于Python和MySQLdb:替换表会导致语法错误和mysql替换所有表中数据的分享已经结束,谢谢您的关注,如果想了解更多关于c# – 为什么nullable上的模式匹配会导致语法错误?、C#,MySQL,ADO.NET,分隔符导致语法错误、Centos 7.4 安装ipython和mysql-python遇到的问题、MySQL DECLARE中的SELECT INTO变量会导致语法错误?的相关知识,请在本站进行查询。
本文标签: