2010-03-29 21 views
6

मेरे पास एक सारणी है जिसे मैं प्रत्येक प्रविष्टि समय पर प्रत्येक आदेश का टाइमस्टैम्प रिकॉर्ड करना चाहता हूं। हालांकि, मुझे टाइमस्टैम्प के लिए शून्य मान मिल रहे हैं।MySQL: अब() मुझे शून्य दे रहा है

यहाँ मेरी स्कीमा है:

CREATE TABLE IF NOT EXISTS orders(
      order_no VARCHAR(16) NOT NULL, 
      volunteer_id VARCHAR(16) NOT NULL, 
      date TIMESTAMP DEFAULT NOW(), 
      PRIMARY KEY (order_no), 
      FOREIGN KEY (volunteer_id) REFERENCES volunteer(id) 
      ON UPDATE CASCADE ON DELETE CASCADE) 

उत्तर

3

"डेटा प्रकार विनिर्देश में डिफ़ॉल्ट मान खंड एक स्तंभ के लिए कोई डिफ़ॉल्ट मान इंगित करता है एक अपवाद के साथ, डिफ़ॉल्ट मान एक निरंतर होना चाहिए, यह एक समारोह नहीं हो सकता। । या एक अभिव्यक्ति इसका मतलब यह है, उदाहरण के लिए, आप जैसे NOW() या CURRENT_DATE "एक तिथि स्तंभ के लिए डिफ़ॉल्ट सेट नहीं कर सकता है कि एक फंक्शन का मान होने की

स्रोत: http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

आप करने जा रहे हैं कोलम नाम देना है n अपनी सम्मिलित क्वेरी में और अब() मान के रूप में पास करें।

+9

आप आपको सबसे उपयोगी बिट बाहर छोड़ दिया, नहीं किया? "अपवाद यह है कि आप TIMESTAMP कॉलम के लिए डिफ़ॉल्ट के रूप में CURRENT_TIMESTAMP निर्दिष्ट कर सकते हैं। खंड 10.3.1.1," TIMESTAMP गुण "(http://dev.mysql.com/doc/refman/5.1/en/timestamp.html) देखें । " –

+0

+1 @ टीके। पाउडर, उसको याद किया होगा ..., धन्यवाद! – Fabian

2

सुनिश्चित करें कि आप एक खाली तारीख के साथ पंक्तियों डालने नहीं कर रहे हैं:

INSERT INTO orders VALUES (1, 1, ''); 

ऊपर एक 0000-00-00 00:00:00 तारीख सम्मिलित होगा।


निम्नलिखित काम करता है MySQL 5.0.51a में अपेक्षा के अनुरूप:

CREATE TABLE IF NOT EXISTS orders(
      order_no VARCHAR(16) NOT NULL, 
      volunteer_id VARCHAR(16) NOT NULL, 
      date TIMESTAMP DEFAULT NOW(), 
      PRIMARY KEY (order_no)); 

INSERT INTO orders (order_no, volunteer_id) VALUES (1, 1); 
INSERT INTO orders (order_no, volunteer_id) VALUES (2, 1); 
INSERT INTO orders (order_no, volunteer_id) VALUES (3, 1); 
INSERT INTO orders (order_no, volunteer_id) VALUES (4, 1); 

SELECT * FROM orders; 

+----------+--------------+---------------------+ 
| order_no | volunteer_id | date    | 
+----------+--------------+---------------------+ 
| 1  | 1   | 2010-03-29 17:10:37 | 
| 2  | 1   | 2010-03-29 17:10:40 | 
| 3  | 1   | 2010-03-29 17:10:44 | 
| 4  | 1   | 2010-03-29 17:10:48 | 
+----------+--------------+---------------------+ 
4 rows in set (0.00 sec) 
संबंधित मुद्दे