我开始使用新的php脚本,并且我第一次在mysql中使用了DATATIME选项。我认为这会产生问题。
我的sql表是:
id int(6) auto_increment,
name varchar(40) not null,
pseudo varchar(40) not null,
email varchar(40) not null,
password varchar(40) not null,
plan varchar(40) not null,
date DATETIME DEFAULT CURRENT_TIMESTAMP,
points int(6) not null,
primary key(id,name,pseudo,email,password,date,points,plan)
当我尝试执行此查询时:
insert into users(NULL,"name","pseudo","email@email.com","Pass1919",NULL,
"100");
此错误显示:
错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在'NULL附近使用的语法, 第1行的“name”,“pseudo”,“email@email.com”,“Pass1919”,NULL,“100”)
答案 0 :(得分:1)
试试这个..
insert into users(name,pseudo,email,password,paln,date,poits)
values("name","pseudo","email@email.com","Pass1919",NULL, "100");
答案 1 :(得分:0)
尝试添加要使用values
关键字插入值的表字段名称。如果您不想发送NULL
,则自动增量ID也不能为id, date
值假设它将自动收集值增量和当前时间戳
insert into users(name,pseudo,email,password,plan,points) values ('name','pseudo','email@email.com','Pass1919','','100');
答案 2 :(得分:0)
您必须使用关键字值:
insert into users values(NULL,"name","pseudo","email@email.com","Pass1919",NULL,
"100");
答案 3 :(得分:0)
不要将第一个参数作为NULL
传递,因为您已将其指定为主键并自动增量。
使用这个
insert into users values("name","pseudo","email@email.com","Pass1919",NULL, "100");
答案 4 :(得分:0)
试试这个
INSERT INTO users(
`name`,
`pseudo`,
`email`,
`password`,
`plan`,
`points`
)
VALUES (
NULL,
'name',
'pseudo',
'email@email.com',
'Pass1919',
NULL,
'100');
答案 5 :(得分:0)
此外,当您处理整数时,插入时不需要将其括在引号中,这样就可以了
insert into users(name,pseudo,email,password,plan,date,points)
values("name","pseudo","joe.bloggs@mydomain.com","S3CuR3", "PLAN", "2014-06-26", 100);
答案 6 :(得分:0)
正如其他人所说,
insert into users(name,pseudo,email,password,paln,date,poits)
values("name","pseudo","email@email.com","Pass1919",'', NULL, "100");
计划varchar(40)非空,
他们错过的是计划不为空,要么输入null作为日期,要么我宁愿完全省略它。
insert into users(name,pseudo,email,password,paln,poits)
values("name","pseudo","email@email.com","Pass1919",'', "100");
如果计算上述某些响应中的字段和输入,则它们不相等。字段列表在插入中是可选的,但我会使用它们,以提高可读性并确保输入的顺序和数量正确。
最后一件事改为主键,只改为自动增量字段,如果你需要其他复合索引,你应该将它们分开添加,并根据你的要求使其唯一。主键应该是代理键,如此定义
其他密钥应该与数据相关,就像我说的,如果你需要一个复合唯一密钥,或者只是像电子邮件这样的独特字段使它与主要密钥分开。