我厌倦了直接从 phpMyAdmin 执行插入,如下所示:
INSERT INTO oracle.PLAYLIST_MUSIC ( TID,
ID,
STATUS,
CREATED_BY,
CREATED_DATE,
UPDATED_BY,
UPDATED_DATE,
ORDER
)
VALUES(TID = 56919,
ID = 115948,
STATUS = '1',
CREATED_BY = 15217,
CREATED_DATE = NOW(),
UPDATED_BY = 15217,
UPDATED_DATE = NOW(),
ORDER = 0)
Run Code Online (Sandbox Code Playgroud)
SQL 成功执行,但是我发现所有插入的值都变成了 NULL,包括系统生成的值,如NOW().
有人有想法吗?
你的插入语法是错误的,column=value在values子句中使用没有你认为的那样。
尝试:
INTO oracle.PLAYLIST_MUSIC ( TID,
ID,
STATUS,
CREATED_BY,
CREATED_DATE,
UPDATED_BY,
UPDATED_DATE,
`ORDER`
)
VALUES(56919,
115948,
'1',
15217,
NOW(),
15217,
NOW(),
0)
Run Code Online (Sandbox Code Playgroud)
这些值必须与列名在insert语句中出现的顺序相同。
引用该order列可能是个好主意,因为这是一个保留字。
我猜测空值来自这样一个事实,即列未绑定到值子句中的任何内容,导致它们为空。并null = any value评估为空:
mysql> select null=1 ;
+--------+
| null=1 |
+--------+
| NULL |
+--------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
但这只是对实际发生的事情的猜测,我很惊讶完全解析。
| 归档时间: |
|
| 查看次数: |
3809 次 |
| 最近记录: |