相关疑难解决方法(0)

在字段名称周围使用反引号

在这里阅读了几个关于SQL问题的答案和评论后,还听到我的一个朋友在一个禁止它们的政策的地方工作,我想知道在MySQL中使用反引号是否有任何问题.

那是:

SELECT `id`, `name`, `anotherfield` ...
-- vs --
SELECT id, name, anotherfield ...
Run Code Online (Sandbox Code Playgroud)

mysql backticks

172
推荐指数
6
解决办法
9万
查看次数

如何转义用作列名的保留字?MySQL /创建表

我从.NET中的类生成表,一个问题是类可能有一个字段名称key,这是一个保留的MySQL关键字.如何在create table语句中转义它?(注意:下面的另一个问题是文本必须是固定大小才能被索引/唯一)

create table if not exists misc_info (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
key TEXT UNIQUE NOT NULL,
value TEXT NOT NULL)ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)

mysql escaping

135
推荐指数
3
解决办法
15万
查看次数

重复整个MySQL数据库

是否可以在Linux服务器上复制整个MySQL数据库?

我知道我可以使用导出和导入,但原始数据库大于25MB,所以这不是理想的.

是否可以使用mysqldump或直接复制数据库文件?

mysql database linux

86
推荐指数
3
解决办法
10万
查看次数

无法在PostgreSQL中创建名为"user"的数据库表

似乎PostgreSQL不允许创建名为"user"的数据库表.但MySQL将允许创建这样的表.

那是因为它是关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect).

postgresql hibernate reserved-words identifier

70
推荐指数
5
解决办法
4万
查看次数

SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误 - PHP - PDO

我查看了所有其他stackoverflow(和谷歌)帖子同样的问题,但似乎没有解决我的问题.

我正在使用pdo和php.

我的代码:

$vals = array(
   ':from'    => $email,
   ':to'      => $recipient,
   ':name'    => $name,
   ':subject' => $subject,
   ':message' = >$message
);
print_r($vals);
try {
   $pdo = new PDOConfig();
   $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $sql = "SELECT * FROM messages WHERE `message` LIKE :message";
   $q = $pdo->prepare($sql);
   $q->execute(array(':message' => $vals[':message']));
   $resp = $q->fetchAll();

   foreach ($resp as $row) {
      throw new Exception('Please do not post the same message twice!');
   }

   $sql = "INSERT INTO messages (from, to, name, subject, message) VALUES (:from, :to, :name, …
Run Code Online (Sandbox Code Playgroud)

php mysql sql pdo mysql-error-1064

60
推荐指数
2
解决办法
46万
查看次数

将Perl翻译为Python

我在将SQLite数据库迁移到mysql时发现了这个Perl脚本

我想知道(因为我不知道Perl)如何在Python中重写这个?

最短(代码)答案的奖励积分:)

编辑:对不起我的意思是最短的代码,而不是严格的最短答案

#! /usr/bin/perl

while ($line = <>){
    if (($line !~  /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){

        if ($line =~ /CREATE TABLE \"([a-z_]*)\"(.*)/){
                $name = $1;
                $sub = $2;
                $sub =~ s/\"//g; #"
                $line = "DROP TABLE IF EXISTS $name;\nCREATE TABLE IF NOT EXISTS $name$sub\n";
        }
        elsif ($line =~ /INSERT INTO \"([a-z_]*)\"(.*)/){
                $line = "INSERT INTO $1$2\n";
                $line =~ s/\"/\\\"/g; #"
                $line =~ s/\"/\'/g; #" …
Run Code Online (Sandbox Code Playgroud)

python perl rewrite

21
推荐指数
4
解决办法
1万
查看次数

列名中的保留字 - 插入MySQL

我有一个MySQL数据库,group其中一个列名称中包含单词" ".我无法更改此数据库和列的名称; 不是我的.

表用户,列:id, name, password, group,和其他.我需要在此表中插入一条记录.我试过了INSERT INTO users (name, group) VALUES ('John', '9'),但因为" group" 而无法正常工作.

你能帮帮我吗,请问如何在这张表中插入记录?

mysql insert reserved-words

18
推荐指数
2
解决办法
3万
查看次数

MySQL INSERT INTO语法

我有以下结构

user_id int(11)
right   int(11)
group_id int(11)
value   tinyint(1)
Run Code Online (Sandbox Code Playgroud)

还有3个查询

INSERT INTO  user_rights (`user_id`,`right`,`group_id`,`value`)
VALUES ( '42',  '160',  '1',  '1' );

INSERT INTO  user_rights ('user_id','right','group_id','value')
VALUES ( '42',  '160',  '1',  '1' );

INSERT INTO  user_rights (user_id,right,group_id,value)
VALUES ( '42',  '160',  '1',  '1' );
Run Code Online (Sandbox Code Playgroud)

解释我为什么只有第一个有效????

我的一生都在使用第三个!

谢谢.

mysql sql sql-server mysqli

7
推荐指数
1
解决办法
9697
查看次数

在列名中使用保留字

这是一些简单的代码,但我不知道为什么我不能将这个词用作表的实体

CREATE TABLE IF NOT EXISTS users(
key INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)

我意识到我不能使用"密钥",如果我使用密钥,mysql将要求我检查语法,但如果我使用"id"或任何其他表,将创建表.

任何人都知道如何将实体名称创建为密钥?不是很重要,因为我可以使用id而不是key但是因为我发现了这个错误,我想知道是否有办法让它工作.

mysql sql database

7
推荐指数
1
解决办法
8239
查看次数

如何选择具有表名:“组”的表?

我有一张桌子。表的名称是“组”

我运行这样的查询:

SELECT * FROM GROUP
Run Code Online (Sandbox Code Playgroud)

存在这样的错误:

Error Code: 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 'group 
 LIMIT 0, 1000' at line 1
Run Code Online (Sandbox Code Playgroud)

有什么解决方案可以解决我的问题?

谢谢

mysql

7
推荐指数
1
解决办法
4050
查看次数