我一直得到"ORA-01861:文字不匹配格式字符串ORA-06512:在"SYS.尝试将 DATE 值插入下面列出的credit_card表中时出现DBMS_SQL",第 1721 行"错误:
CREATE TABLE CREDIT_CARD
(
cc_card_number VARCHAR(16) NOT NULL,
cc_name_on_cc VARCHAR(100) NOT NULL,
cc_expiration_date DATE NOT NULL,
customer_id INT NOT NULL,
PRIMARY KEY (cc_card_number),
FOREIGN KEY (customer_id) REFERENCES CUSTOMER(customer_id)
)
这是不断给我一个错误的插入值语句:
INSERT INTO credit_card VALUES ('1111222233334444', 'Bob LoBlah', '1980-12-17', 1);
我做错了什么?
谢谢
使用date
关键字:
INSERT INTO credit_card
VALUES ('1111222233334444', 'Bob LoBlah', DATE '1980-12-17', 1);
这允许您对日期常量使用 ISO 标准日期格式。
我还强烈建议您在要插入的表格中列出列:
INSERT INTO CREDIT_CARD (cc_card_number, cc_name_on_cc, cc_expiration_date , customer_id)
VALUES ('1111222233334444', 'Bob LoBlah', DATE '1980-12-17', 1);
这可以防止意外错误。