使用字符串 SQL 插入 SELECT
INSERT SELECT with string SQL
我想将一栏的内容复制到另一栏。复制的内容应该链接到一个字符串。
| 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
当然,我右边有好几个栏目table,但实际上应该忽略还是?
希望有人出出主意。
似乎还有另一个名为 time
的列不接受空值。您可以尝试插入当前时间,例如:
INSERT INTO table_name (copy_into_column, time)
SELECT CONCAT('The ', copy_from_column, ' Company'), NOW()
FROM table_name;
你不是在找更新声明吗?
UPDATE table_name
SET copycol = CONCAT('The ', copy_from_column, ' Company')
关于您得到的错误:
您有一个显然需要的时间戳字段。从您共享的代码中,我看到您正在向数据库中插入新行,我猜您没有填充其他列。
我想将一栏的内容复制到另一栏。复制的内容应该链接到一个字符串。
| 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
当然,我右边有好几个栏目table,但实际上应该忽略还是?
希望有人出出主意。
似乎还有另一个名为 time
的列不接受空值。您可以尝试插入当前时间,例如:
INSERT INTO table_name (copy_into_column, time)
SELECT CONCAT('The ', copy_from_column, ' Company'), NOW()
FROM table_name;
你不是在找更新声明吗?
UPDATE table_name
SET copycol = CONCAT('The ', copy_from_column, ' Company')
关于您得到的错误:
您有一个显然需要的时间戳字段。从您共享的代码中,我看到您正在向数据库中插入新行,我猜您没有填充其他列。