mysql - 使用字符串 SQL 进行 INSERT SELECT

标签 mysql sql sql-insert mysql-select-db

我想将一列的内容复制到另一列。复制的内容应该链接到一个字符串。

|  company  |  new_company  |
_____________________________
Google      | The Google Company

此处“The”和“Company”作为字符串附加到内容中。

我尝试了很多,对我来说最有意义的是:

INSERT INTO table_name (copy_into_column)
SELECT CONCAT('The ', copy_from_column, ' Company')
FROM table_name

但是通过这个sql我得到了这个错误:

#1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'time' at row 1035

当然,我的右表中有几列,但实际上应该被忽略,或者?

希望有人有想法。

最佳答案

您不是在寻找更新声明吗?

UPDATE table_name
SET copycol = CONCAT('The ', copy_from_column, ' Company')

关于您收到的错误:

您有一个显然是必需的时间戳字段。从您共享的代码中,我看到您正在将新行插入数据库,我猜您没有填充其他列。

关于mysql - 使用字符串 SQL 进行 INSERT SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45690076/

相关文章:

php - 自动添加新的最后一个号码mysql

mysql - 从数据库表中获取特定日期

mysql - 数据库触发器是如何在 SQL 数据库引擎中实现的?

php - MYSQL意外插入多行

MySQL 从查询中设置变量并在另一个查询中使用它

php - 在 DoExpressCheckout 上单击“购买”后,将日期时间保存到数据库时出错

mysql - 连接 2 个 MySQL 表的多个值

php - 中断php中存储过程(mysql)的执行

java 1.6和1.7连接到sql server 2000

php - 通过PHP在MySQL中插入元素我得到语法错误