1
Zuckonit 2014-08-23 16:29:58 +08:00 1
自增字段需要自己插么?
|
2
Automan 2014-08-23 16:31:30 +08:00
insert into test1 (name) values ('juno')
提示什么错误? |
5
Chigogo 2014-08-23 16:37:19 +08:00
MySQL的自增值不要插入的。创建的时候就自动有了。
|
7
imkh OP @Chigogo 是不用啊,但insert语句要怎么写?以insert into test1 (name) values ('juno')这种形式插入会出现“mysql.connector.errors.ProgrammingError: Wrong number of arguments during string formatting”这种错误。
|
8
jerry 2014-08-23 16:47:35 +08:00 1
贴代码吧,应该是用错了
|
10
imkh OP 谢谢各位,是格式用错了。原来我写的语句是cursor.execute('insert into test1 (name) values (%s)','juno'),改成cursor.execute('insert into test1 (name) values (%s)',['juno'])就行了。
|
11
zts1993 2014-08-23 16:51:22 +08:00
null
|
13
imkh OP @zts1993 在MySQL命令行里是可以的,在代码里会出现“mysql.connector.errors.DatabaseError: 1366 (HY000): Incorrect integer value: 'null' for column 'id' at row 1”错误。
|
14
kongkongyzt 2014-08-23 18:04:55 +08:00 1
建议写成 cursor.execute("insert into test1(name) values('{}')".format('juno'))
|
15
Ctech 2014-08-23 18:39:56 +08:00
insert into (name1,name2) values('%s','%s') %(value1,value2).........
|
16
Ctech 2014-08-23 18:40:28 +08:00
@Ctech insert into tablename (name1,name2) values('%s','%s') %(value1,value2).........
|
17
iptux 2014-08-23 18:51:07 +08:00
没人这样写么?
cursor.execute('insert into test1 (name) values (?)',('juno',)) |
18
pc10201 2014-08-23 19:01:05 +08:00 1
@ctech 的写法有问题,会被sql注入的
@iptux 的写法是对的, python的mysql最佳实践,来源 http://stackoverflow.com/questions/7929364/python-best-practice-and-securest-to-connect-to-mysql-and-execute-queries |
19
fatpa 2014-08-23 19:28:42 +08:00
sql = "insert into test1 (name) values (%s)"
mysql.execute(sql, 'name') |
20
zeayes 2014-08-24 00:06:16 +08:00
SQL insert语句指定字段名字,SQL语句中变量用占位符。
|
22
ulic95 2014-08-24 09:56:53 +08:00
学习了~
|
23
suckli 2014-08-24 22:32:03 +08:00 via iPhone
null
|