使用mysql命令创建mysql数据库(Create mysql database using mysql command)
我在尝试使用mysql命令创建数据库时遇到问题。 我正在使用的代码是;
using (MySqlConnection con = connect_db())
{
con.Open();
MySqlCommand cmd = new MySqlCommand("CREATE DATABASE @name;", con);
cmd.Parameters.AddWithValue("@name", "fancydb");
try
{
cmd.ExecuteNonQuery();
}
catch (Exception exc)
{
return;
}
cmd.Dispose();
con.Close();
con.Dispose();
}
当我尝试运行此代码时,我总是收到错误消息,说我有一个
“fancydb”附近的mysql语法错误
但是当我把命名放在命令中时: "CREATE DATABASE facnydb;" 有用。 任何人都可以向我解释为什么只有在我尝试使用参数时才会发生错误?
I am having a problem when trying to create a database using mysql command. The code i am using is;
using (MySqlConnection con = connect_db())
{
con.Open();
MySqlCommand cmd = new MySqlCommand("CREATE DATABASE @name;", con);
cmd.Parameters.AddWithValue("@name", "fancydb");
try
{
cmd.ExecuteNonQuery();
}
catch (Exception exc)
{
return;
}
cmd.Dispose();
con.Close();
con.Dispose();
}
When I try to run this code I always get an error saying that I have an
error in mysql syntax near "fancydb"
but when I put the name in the command like: "CREATE DATABASE facnydb;" it works. Can anyone explain to me why is the error only happening when I try and use parameters?
原文:https://stackoverflow.com/questions/16770974
更新时间:2020-01-26 22:01
最满意答案
create-statement不是数据操作语句。 参数仅允许在此类操作中使用。 create-statement是一个数据定义语句。
The create-statement is not a data-manipulation-statement. Parameters are only allowed in such kind of operations. The create-statement ist a data-definition-statement.
2013-05-27
相关问答
您可能需要更新mysql套接字的路径。 sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock 我认为这已经在这里得到了解答: 升级Mac OS X Yosemite后,Mysql无法启动(Mac OS 10.10) You may need to update your path to the mysql socket. sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock I think this was a
...
mysqladmin -u[username] -p[password] drop [database]
Try the following command: mysqladmin -h[hostname/localhost] -u[username] -p[password] drop [database]
MySQL的文档说 : CREATE DATABASE创建一个具有给定名称的数据库。 要使用此语句,您需要数据库的CREATE权限。 CREATE SCHEMA是MySQL 5.0.2之前的CREATE DATABASE的同义词。 所以,这两个指令也是一样的。 The documentation of MySQL says : CREATE DATABASE creates a database with the given name. To use this statement, you nee
...
你是以root身份登录的吗? 浏览到包含foler的mysql.exe并尝试在cmd中输入: mysql.exe -u root --password
RESOLVED:** Thanks to all for your kind replies. I solved that problem. I changed the 'user' table in 'mysql' database by using phpmyadmin and set the fields to 'Y' while tho
...
好的,你在mysql命令中给出了SCHEMA NAME。 所以mysql想要先将模式更改为myDatabase,然后才能这样做。 没有架构myDatabase。 删除-D选项,如: mysql -u root -p < backup.sql
ok, you give the SCHEMA NAME in the mysql command. So mysql want to change first the schema to myDatabase AND CANT THAT DO. ther
...
下面解决了我的问题: sudo chown -RL root:mysql /usr/local/mysql sudo chown -RL mysql:mysql /usr/local/mysql/data sudo /usr/local/mysql/support-files/mysql.server start 从这个SO回答 。 Below solved my problem: sudo chown -RL root:mysql /usr/local/mysql sudo chown -RL
...
不,你不能使用cp命令创建任何数据库。 最简单的方法是 1-转储没有数据的new_york数据库。 mysqldump -u${USERNAME} -p --no-data new_york > new_york.sql
2-创建los_angeles,并导入new_york数据库转储。 CREATE DATABASE los_angeles;
use los_angeles;
source new_york.sql;
希望这可以帮助 No you can not create any da
...
不,use database命令没有很大的成本。 但是如果使用MyISAM,UPDATE语句将锁定整个表。 您可能会看到多个UPDATE语句相互排队。 我建议对所有表使用InnoDB。 不仅因为它支持行级锁定(实际上MVCC比行级锁定更好),而且InnoDB在抵抗数据损坏方面优于MyISAM。 No, the use database command does not have a great cost. But the UPDATE statement locks the whole table
...
create-statement不是数据操作语句。 参数仅允许在此类操作中使用。 create-statement是一个数据定义语句。 The create-statement is not a data-manipulation-statement. Parameters are only allowed in such kind of operations. The create-statement ist a data-definition-statement.