我有一个列表,每行有3行代表一个表行:
>>> print list
[laks,444,M]
[kam,445,M]
[kam,445,M]
Run Code Online (Sandbox Code Playgroud)
如何将此列表插入表中?
我的表结构是:
tablename(name varchar[100], age int, sex char[1])
或者我应该使用列表以外的东西?
这是实际的代码部分:
for record in self.server:
print "--->",record
t=record
self.cursor.execute("insert into server(server) values (?)",(t[0],));
self.cursor.execute("insert into server(id) values (?)",(t[1],))
self.cursor.execute("insert into server(status) values (?)",(t[2],));
Run Code Online (Sandbox Code Playgroud)
分别插入三个字段可以正常工作,但是使用单行
self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t[0],),(t[1],),(t[2],))
要么
self.cursor.execute("insert into server(server,c_id,status) values (?,?,?)",(t),)
才不是.
我试图进一步提出我昨天问的问题,我想知道如何以不同的格式查询日期.但是现在我正在尝试使用这种方法进行插入(见下文)但是我无法使其工作.我已经检查了手册,但它不是初学者友好的!
INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');
Run Code Online (Sandbox Code Playgroud) 我有一个完整的跟踪数据表,作为特定课程,课程编号6.
现在我为课程编号11添加了新的跟踪数据.
每行数据用于一个课程的一个用户,因此对于分配到课程6和课程11的用户,有两行数据.
客户希望所有在2008年8月1日之后的任何时间完成课程编号6的用户也可以在课程11中完成标记.但是我不能只将6转换为11,因为他们希望保留课程6中的旧数据.
因此,对于课程编号为6的每一行,标记为完成,并且大于2008年8月1日的日期,我想在包含该特定用户的课程11的跟踪的行上写入完成数据.
我需要将从第6行到第11行的数据继续进行,以便移动用户得分和发布完成日期等内容.
这是表的结构:
userID (int)
courseID (int)
course (bit)
bookmark (varchar(100))
course_date (datetime)
posttest (bit)
post_attempts (int)
post_score (float)
post_date (datetime)
complete (bit)
complete_date (datetime)
exempted (bit)
exempted_date (datetime)
exempted_reason (int)
emailSent (bit)
Run Code Online (Sandbox Code Playgroud)
一些值将为NULL,并且显然不会继承userID/courseID,因为它已经在正确的位置.
我是这个SQL的新手; 我已经看到类似的问题与更大的程序,我目前无法理解.我正在为我的主页上使用的卡片游戏创建一个数据库.
我在Windows上使用MySQL Workbench.我得到的错误是:
错误代码:1364.字段'id'没有默认值
CREATE TABLE card_games
(
nafnleiks varchar(50),
leiklysing varchar(3000),
prentadi varchar(1500),
notkunarheimildir varchar(1000),
upplysingar varchar(1000),
ymislegt varchar(500),
id int(11) PK
);
insert into card_games (nafnleiks, leiklysing, prentadi, notkunarheimildir, upplysingar, ymislegt)
values('Svartipétur',
'Leiklýsingu vantar',
'Er prentað í: Þórarinn Guðmundsson (2010). Spilabókin - Allir helstu spilaleikir og spil.',
'Heimildir um notkun: Árni Sigurðsson (1951). Hátíðir og skemmtanir fyrir hundrað árum',
'Aðrar upplýsingar',
'ekkert hér sem stendur'
);
values('Handkurra',
'Leiklýsingu vantar',
'Er prentað í: Þórarinn Guðmundsson (2010). Spilabókin - …Run Code Online (Sandbox Code Playgroud) INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
Run Code Online (Sandbox Code Playgroud)
这是我用于mysql插入当前日期时间的查询.当我在postgresql中使用它时,我收到以下错误.
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
********** Error **********
ERROR: function utc_timestamp() does not exist
SQL state: 42883
Run Code Online (Sandbox Code Playgroud)
我尝试过如下使用now(),但它插入就像"2016-07-07 17:01:18.410677".我需要以'yyyymmdd hh:mi:ss tt'格式插入.
INSERT into Group (Name,CreatedDate) VALUES ('Test',UTC_TIMESTAMP(), 1);
Run Code Online (Sandbox Code Playgroud)
如何在上述格式的postgresql插入查询中插入当前日期时间?
是的,我理解元组是不可变的,但是我需要在每个元组中插入一个额外的值.所以其中一项是金额,我需要用不同的货币在它旁边添加一个新项目,如下所示:
('Product', '500.00', '1200.00')
Run Code Online (Sandbox Code Playgroud)
可能?
谢谢!
我有一个MySQL database,具有日期类型的列DATETIME.
我从外部应用程序获取日期/时间的字符串值.该字符串值如下所示:
'5/15/2012 8:06:26 AM'
Run Code Online (Sandbox Code Playgroud)
MySQL在INSERT上抛出一个错误:"Error. Incorrect datetime value".我的解决方法是将列类型更改为VARCHAR有效,但我确实需要将数据作为适当的日期和时间以供将来使用.
我研究了接受的MySQL DATETIME值格式,并发现MySQL希望DATETIME格式为'YYYY-MM-DD HH:MM:SS'.
我无法更改外部应用程序以格式化重新格式化日期/时间字符串,所以我唯一的机会是处理它.
我想,我需要做的是解析现有的字符串MySQL syntax,在我的INSERT声明中使用,但我不知道该怎么做.我有一些想法,我需要使用一个SELECT子句,也许STR_TO_DATE,以某种方式结合我的INSERT语句.
这是我当前的INSERT语句.我删除了其他不会导致问题的字段,只是为了使示例清理干净.
INSERT INTO tblInquiry (fldInquiryReceivedDateTime) VALUES ('5/15/2012 8:06:26')
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,我是SQL新手.
有没有办法一次插入多个记录而不是一个?
我有一个非常非常丑陋的rake任务,正在执行以下操作......
VoteRecord.create(:prospect_id => prospect.id, :state => "OH", :election_type => "PR", :election => "2000-03-07", :party => row[45], :participate => participated(row[45]))
VoteRecord.create(:prospect_id => prospect.id, :state => "OH", :election_type => "GE", :election => "2000-11-07", :party => row[46], :participate => participated(row[46]))
VoteRecord.create(:prospect_id => prospect.id, :state => "OH", :election_type => "SP", :election => "2000-05-08", :party => row[47], :participate => participated(row[47]))
VoteRecord.create(:prospect_id => prospect.id, :state => "OH", :election_type => "GE", :election => "2001-11-06", :party => row[48], :participate => participated(row[48]))
VoteRecord.create(:prospect_id => prospect.id, :state => "OH", …Run Code Online (Sandbox Code Playgroud) 我有一个表格,其字符串值的格式为2012年4月20日星期五,名为Film_Release
我正在循环,我想在datetime中转换它们并将它们滚动到另一个表中.我的第二个表有一个名为Films_Date的列,格式为DATE.我收到此错误
类DateTime的对象无法转换为字符串
$dateFromDB = $info['Film_Release'];
$newDate = DateTime::createFromFormat("l dS F Y",$dateFromDB); //( http:php.net/manual/en/datetime.createfromformat.php)
Run Code Online (Sandbox Code Playgroud)
然后我通过insert命令将$ newdate插入表中.
为什么我会收到这样的错误?
我有一个大约30000行数据的文件,我想加载到sqlite3数据库.有没有比为每行数据生成插入语句更快的方法?
数据以空格分隔,并直接映射到sqlite3表.是否有任何类型的批量插入方法用于向数据库添加卷数据?
如果它没有内置,有没有人设计出一些狡猾的好方法呢?
我应该先问一下,有没有一种C++方法可以从API中做到这一点?