在 MySQL 中,数据库和表名不能用单引号引起来?
mysqlmysqli database
您需要在表名和数据库名周围使用反引号。语法如下:
UPDATE `yourDatabaseName`.`yourTableName` SET yourColumnName1=yourColumnName1+1 WHERE yourColumnName2=’yourValue’;
为了理解上述语法,让我们创建一个表。创建表的查询如下:
mysql> use test; Database changed mysql> create table Add1Demo -> ( -> Id varchar(10), -> Value int -> ); Query OK, 0 rows affected (1.19 sec)
使用 insert 命令在表中插入一些记录。 查询语句如下:
mysql> insert into Add1Demo values('1',780); Query OK, 1 row affected (0.17 sec) mysql> insert into Add1Demo values('2',1001); Query OK, 1 row affected (0.18 sec) mysql> insert into Add1Demo values('3',1654); Query OK, 1 row affected (0.15 sec) mysql> insert into Add1Demo values('4',3999); Query OK, 1 row affected (0.09 sec) mysql> insert into Add1Demo values('5',5999); Query OK, 1 row affected (0.10 sec) mysql> insert into Add1Demo values('6',799); Query OK, 1 row affected (0.08 sec) mysql> insert into Add1Demo values('8',899); Query OK, 1 row affected (0.11 sec)
使用 select 语句显示表中的所有记录。查询如下:
mysql> select *from Add1Demo;
输出结果如下:
+------+-------+ | Id | Value | +------+-------+ | 1 | 780 | | 2 | 1001 | | 3 | 1654 | | 4 | 3999 | | 5 | 5999 | | 6 | 799 | | 8 | 899 | +------+-------+ 7 rows in set (0.00 sec)
以下是使用反引号括住数据库名称和表名称的查询。请勿对数据库和表名称使用单引号。查询如下,假设将 1 添加到当前字段。
mysql> update `test`.`Add1Demo` -> set Value=Value+1 -> where Id='6'; Query OK, 1 row impacted (0.17 sec) Rows matches: 1 Changed: 1 Warnings: 0
现在您可以再次检查具有特定 ID 6 的表记录。查询如下:
mysql> select *from Add1Demo where Id='6';
输出结果如下:
+------+-------+ | Id | Value | +------+-------+ | 6 | 800 | +------+-------+ 1 row in set (0.00 sec)