我正在将我的所有SQL Server查询转换为MySQL,并且我的查询WITH都失败了.这是一个例子:
WITH t1 AS
(
SELECT article.*, userinfo.*, category.*
FROM question
INNER JOIN userinfo ON userinfo.user_userid = article.article_ownerid
INNER JOIN category ON article.article_categoryid = category.catid
WHERE article.article_isdeleted = 0
)
SELECT t1.*
FROM t1
ORDER BY t1.article_date DESC
LIMIT 1, 3
Run Code Online (Sandbox Code Playgroud) mysql common-table-expression with-clause subquery-factoring mysql-8.0
我一直收到这个错误:
MySQL说:#1064 - 你的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第15行的INSERT INTO books.book(isbn10,isbn13,title,edition,author_f_name,author_m_na')附近使用正确的语法
使用此查询:
USE books;
DROP TABLE IF EXISTS book;
CREATE TABLE `books`.`book`(
`book_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`isbn10` VARCHAR(15) NOT NULL,
`isbn13` VARCHAR(15) NOT NULL,
`title` VARCHAR(50) NOT NULL,
`edition` VARCHAR(50) NOT NULL,
`author_f_name` VARCHAR(50) NOT NULL,
`author_m_name` VARCHAR(50) NOT NULL,
`author_l_name` VARCHAR(50) NOT NULL,
`cond` ENUM('as new','very good','good','fair','poor') NOT NULL,
`price` DECIMAL(8,2) NOT NULL,
`genre` VARCHAR(50) NOT NULL,
`quantity` INT NOT NULL)
INSERT INTO books.book(isbn10,isbn13,title,edition,author_f_name,author_m_name,author_l_name,cond,price,genre,quantity)**
VALUES ('0136061699','978-0136061694','Software Engineering: Theory and …Run Code Online (Sandbox Code Playgroud) 我有一个问题,例如在我的系统中我有下一个表:
CREATE TABLE `sales` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`amount` FLOAT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
-- is more complex table
Run Code Online (Sandbox Code Playgroud)
内容:
+-----+-------+
| id | amount|
+-----+-------+
|2023 | 100 |
|2024 | 223 |
|2025 | 203 |
|... |
|2505 | 324 |
+-----+-------+
Run Code Online (Sandbox Code Playgroud)
我不知道当前的id(每天都有销售).我正在尝试规范化表格.
UPDATE sales SET id=id - 2022;
Run Code Online (Sandbox Code Playgroud)
结果:
+-----+-------+
| id | amount|
+-----+-------+
| 1 | 100 |
| 2 | 223 |
| 3 | 203 |
|... …Run Code Online (Sandbox Code Playgroud) 我试图让MySQL为我的表单提交工作.我尝试插入表格时遇到问题.
当我将信息放入我的表单并单击提交时(在此示例中,信息在一个字段中为"Idea",在另一个字段中为"Description")我得到此响应:
"您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'desc附近使用正确的语法'VALUES('Idea','Description')'在第1行"
我正在从Web服务器运行.php文件来执行此脚本.
这是我目前的代码:
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("date_ideas") or die(mysql_error());
$title=$_POST['title'];
$title=mysql_real_escape_string($title);
$desc=$_POST['desc'];
$desc=mysql_real_escape_string($desc);
$submit="INSERT INTO ideas (title, desc) VALUES ('$title','$desc');";
mysql_query($submit) or die(mysql_error());
echo ("Idea submitted. Click <a href='Webroot/submit.php'>here</a> to go back and post another idea.");
?>
Run Code Online (Sandbox Code Playgroud)
如果你调用所使用的变量的回声它会成功传递信息,所以这不是问题.
这个查询:
UPDATE jos_content SET fulltext='\r\n<br /> \" some other text' WHERE id=3
Run Code Online (Sandbox Code Playgroud)
得到:
ERROR 1064 (42000): 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 'fulltext='\r\n<br /> \" some other text' WHERE id=3' at line 1
任何人都知道为什么?谢谢你.
我正在尝试创建一个select语句,从MySQL数据库中选择图像名称.该表名为 - pictures_archive.我也试图根据他们的类别选择这些图片.代码是:
SELECT pictures_archive_filename FROM pictures_archive
WHERE pictures_archive_id = (SELECT pictures_archive_id
FROM pictures_archive_category WHERE pictures_category_id = 9)
Run Code Online (Sandbox Code Playgroud)
它给了我一个"#1242 - Subquery返回超过1行"的错误.我可以看到原因,但无法弄明白该怎么做.
我收到以下MySQL错误:
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在'SET type ='movie',SET category ='New',SET music ='Pop',SET'在第1行附近使用正确的语法
继承人我的疑问:
UPDATE music_content
SET title = 'Classic',
SET type = 'movie',
SET category = 'New',
SET music = 'Pop',
SET audience = 'Everyone'
WHERE id = '6'
Run Code Online (Sandbox Code Playgroud)
不确定我做错了什么? - 存在所有列和表,并且所有数据都被转义(使用mysql_real_escape_string()).此外,我有一个有效/连接的MySQL连接.
MySQL版本:5.1.41.
我运行以下代码:
$conn = new PDO(....);
.... pdo attributes ...
$limitvalue = 0;
$limit = 10;
$sql = $conn->prepare("SELECT * FROM table1 LIMIT ?, ?");
$sql->bindParam(1, $limitvalue, PDO::PARAM_INT);
$sql->bindParam(2, $limit, PDO::PARAM_INT);
$sql->execute();
Run Code Online (Sandbox Code Playgroud)
我得到:
未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“NULL, 10”附近使用的正确语法
它只发生在这个特定的查询中。其他一切正常。
顺便说一句:我知道我为“代码中”值准备语句可能看起来很愚蠢。但这只是一个例子。事实上,这些值取决于页码,但在这里无关紧要 - 此查询也给出了相同的错误。
如果有人感兴趣,PHP 版本是:5.3.4RC2,而 MySQL 是:mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
我正在使用MySQL Server 5.7(64位),MySQL Connector C 6.1 6.1.2(32位),Ruby 1.9.3p392(2013-02-)在Windows 7(64位)上通过Lynda.com完成Ruby on Rails 3 Essential Training教程. 22)[i386-mingw32]和Rails 3.2.12.
在培训中,我在"数据库和迁移"部分尝试将我在MySQL中创建的数据库与我的Rails项目同步,但是我一直在遇到中止消息.
教师要求我的班级通过命令提示符打开我们的rails项目并执行Rake以使用以下代码构建"schema.rb":
这就是我现在运行"db:schema:dump"时所说的内容
C:\Sites\todo>rake db:schema:dump rake aborted!
You have already activated rake 10.1.1, but your Gemfile requires rake 10.0.3.
Using bundle exec may solve this.
C:/Sites/todo/config/boot.rb:6:in"`
C:/Sites/todo/config/application.rb:1:in"`
C:/Sites/todo/Rakefile:4:in"`
(See full trace by running task with --trace)
我该怎么做才能获得Gemfile需要的rake?
我想使用以下脚本创建一个表:
mysql_query("create table `".$mysql_table_prefix."query_log` (
query varchar(255),
time timestamp(14),
elapsed float(2),
results int,
key query_key(query)
)");
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
#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 'mysql_query("create table `".$mysql_table_prefix."query_log` ( query varchar(25' at line 1
Run Code Online (Sandbox Code Playgroud)
编辑:我在phpMyAdmin中使用了sql选项卡
我能做什么?