我一直在收到错误代码:1060.:
但是,我需要插入一些具有相同值的字段,但SQL拒绝并显示上述错误.错误可能是sql无法选择相同的列名,在这种情况下是否有其他编写代码的方法?以下是我目前的代码
INSERT INTO test.testTable SELECT *
FROM (SELECT NULL, 'hello', 'john', '2016-08-04 01:25:06', 'john'
, '2016-08-04 01:25:06', NULL, NULL) AS tmp
WHERE NOT EXISTS (SELECT * FROM test.testTable WHERE message= 'hello' AND created_by = 'john') LIMIT 1
Run Code Online (Sandbox Code Playgroud)
我的专栏:
请帮助,谢谢.
您的重复列名称来自您的子查询.您选择null,john和2016-08-04 01:25:06多次.使用名称/别名提供您选择的列:
INSERT INTO test.testTable
SELECT *
FROM (SELECT NULL as col1, 'hello' as col2,
'john' as col3, '2016-08-04 01:25:06' as col4,
'john' as col5, '2016-08-04 01:25:06' as col6,
NULL as col7, NULL as col8) AS tmp
WHERE NOT EXISTS (SELECT *
FROM test.testTable
WHERE message= 'hello' AND created_by = 'john')
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
不确定limit 1在这里是否有用,您只选择可能插入的单行.
| 归档时间: |
|
| 查看次数: |
8977 次 |
| 最近记录: |