mysql - 将项目从一个数据库插入到另一个 SQL 语法

标签 mysql sql

我正在尝试将项目从一个数据库的名为 items 的表复制到另一个数据库的名为 items 的表。我在下面有一个 mysql 脚本,但它给出了一个错误。

INSERT INTO walmart.items 
(title, location, created_at, updated_at, image_url, url, price) 
VALUES 
(
    SELECT title, location, created_at, updated_at, image_url, url, price 
    FROM warehouse.items 
    WHERE url LIKE '%walmart.com%'
);

我相当确定这主要是一个语法问题,而且我的逻辑是正确的。我尝试了几种不同的配置,但不断收到类似的错误。

收到错误:

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 'SELECT title, location, created_at, updated_at, image_url, url, price FROM old_t' at line 1

在仓库中:

描述项目;

输出

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| title      | varchar(255) | YES  |     | NULL    |                |
| location   | varchar(255) | YES  |     | NULL    |                |
| created_at | datetime     | YES  |     | NULL    |                |
| updated_at | datetime     | YES  |     | NULL    |                |
| image_url  | varchar(255) | YES  |     | NULL    |                |
| url        | varchar(255) | YES  | UNI | NULL    |                |
| price      | int(11)      | YES  |     | NULL    |                |
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
+------------+--------------+------+-----+---------+----------------+

在沃尔玛

描述项目;

输出:

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| title      | varchar(255) | YES  |     | NULL    |                |
| location   | varchar(255) | YES  |     | NULL    |                |
| created_at | datetime     | YES  |     | NULL    |                |
| updated_at | datetime     | YES  |     | NULL    |                |
| image_url  | varchar(255) | YES  |     | NULL    |                |
| url        | varchar(255) | YES  | UNI | NULL    |                |
| price      | int(11)      | YES  |     | NULL    |                |
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
+------------+--------------+------+-----+---------+----------------+

最佳答案

你插入的选择是错误的:

INSERT INTO walmart.items (title, location, created_at, updated_at, image_url, url, price)
SELECT 
title, 
location, 
created_at, 
updated_at, 
image_url, url, 
price 
FROM warehouse.items 
where url LIKE '%walmart.com%';

这里是引用:http://dev.mysql.com/doc/refman/5.7/en/insert-select.html

关于mysql - 将项目从一个数据库插入到另一个 SQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37151169/

相关文章:

php - $belongsTo 关系不工作 cakephp 2.7.5

mysql - SQL:如何通过连接从不同的表中获取多行? (初学者的问题)

mysql - 对多行求和(包括重复行)

java - 不使用聚合函数删除sql中的重复项

sql - 如何打印 django .save() 方法执行的查询?

MySQL别名问题

mysql - 如何用SQL查询当年的月份和天数?

mysql - 调用存储过程时出错 : You are using safe update

php - 显示级联下拉列表

php - 文件控制