我正在尝试学习编写查询的最佳方法.我也理解保持一致的重要性.到现在为止,我已经随机使用了单引号,双引号和后退,没有任何实际想法.
例:
$query = 'INSERT INTO table (id, col1, col2) VALUES (NULL, val1, val2)';
Run Code Online (Sandbox Code Playgroud)
此外,在上面的例子中,考虑table可能是变量.
这是什么标准?你是做什么?
我一直在这里阅读类似问题的答案大约20分钟,但看起来这个问题没有明确的答案.
我正在尝试将数据库重命名为带有连字符( - )的名称.
ALTER DATABASE one RENAME TO one-two;
Run Code Online (Sandbox Code Playgroud)
并且psql返回错误:
ERROR: syntax error at or near "-"
Run Code Online (Sandbox Code Playgroud)
我应该使用什么作为" - "字符的转义序列或者上述方法是什么?
注意:我尝试了'\ - '并且没有用.
谢谢.
这是我的PHP sql语句,它在var转储时返回false
$password_md5 = md5($_GET['password']);
$sql = $dbh->prepare('INSERT INTO users(full_name, e_mail, username, password, password_plain) VALUES (:fullname, :email, :username, :password, :password_plain)');
$result = $sql->execute(array(
':fullname' => $_GET['fullname'],
':email' => $_GET['email'],
':username' => $_GET['username'],
':password' => $password_md5,
':password_plain' => $_GET['password']));
Run Code Online (Sandbox Code Playgroud) 我想知道是否有语法来引用带有减号的表名。例如,我导入了一个名为v-water-ausing的表shp2psql,然后执行了:
select * from v-water-a limit 1;
Run Code Online (Sandbox Code Playgroud)
我得到了一个错误:
ERROR: syntax error at or near "-"
LINE 1: select * from v-water-a limit 1;
Run Code Online (Sandbox Code Playgroud)
如果表名为 ,则相同的查询有效v_water_a。此外,该表v-water-a在 pgadmin3 中可见。我尝试用单引号引用名称,但没有用。
我应该以某种方式引用表名吗?或者它的名字是非法的?
这是在 Ubuntu 14.04 下的 PostgreSQL 9.3.5。